Comment appliquer une transformation XSL d'un document XML à un autre à l'aide de Visual .NET de C++ ou Visual C++ 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 815653 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Pour une version de Microsoft Visual C# de cet article, voir 307322.

Pour une version de Microsoft Visual Basic .NET de cet article, voir 300929.

Cet article fait référence à l'espaces de noms bibliothèque de classes Microsoft .NET Framework suivants :
  • System.XML
  • System.Xml.Xsl

DE CETTE TÂCHE

Résumé

Cet article étape par étape explique comment appliquer une transformation XSL (Extensible Stylesheet Language) (XSLT) à un document XML à l'aide la classe XslTransform pour créer un nouveau document XML. XSL est un langage basé sur XML qui est conçu pour transformer un document XML en un autre document XML, ou pour transformer un document XML n'importe quel document structuré.

Configuration requise

La liste suivante met en évidence le matériel recommandé, logiciel infrastructure réseau et service packs dont vous avez besoin :
  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
  • Kit de développement logiciel Microsoft .NET (SDK) quickstarts
Cet article suppose que vous êtes familiarisé avec les sujets suivants :
  • Terminologie XML
  • Création et en lisant un fichier XML
  • Syntaxe (XPath) XML Path Language
  • XSL

Étapes pour créer l'exemple

Cet exemple utilise deux fichiers nommés Books.xml et Books.xsl. Vous pouvez créer vos propres fichiers Books.xml et Books.xsl, ou vous pouvez utiliser les fichiers d'exemple qui sont inclus avec le .NET Kit de développement (SDK) Démarrages rapides. Copiez les fichiers Books.xml et Books.xsl vers le dossier dans lequel vous créez ce projet. Vous trouverez ces fichiers dans le dossier suivant :
\Program Files\Microsoft visual Studio .NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
  1. Dans Visual Studio .NET, créez une application de C++ géré projet.

    note Dans Visual Studio 2005, créez une application console CLR.
  2. Ajoutez le code suivant pour ajouter une référence à l'espace de noms System.XML :
    #using <System.XMl.Dll>
  3. Spécifier l'instruction using sur le XML et les espaces de noms XSL , afin que vous ne devrez pas qualifier les déclarations dans les espaces de noms plus loin dans votre code. Utilisez l'instruction à l'aide avant les autres déclarations.
    using namespace System::Xml;
    using namespace System::Xml::Xsl;
    
  4. Déclarent les variables appropriés, puis déclarer un objet XslTransform pour transformer des documents XML.
    XslTransform* myXslTransform;
    
  5. Créer un nouvel objet XslTransform . La classe XslTransform est un processeur XSLT qui implémente la recommandation de la version 1.0 XSLT.
    myXslTransform = new XslTransform();
  6. Utilisez la méthode Load pour charger l'objet XslTransform avec la feuille de style. Cette feuille de style transforme les détails du fichier Books.xsl en une simple liste ISBN de livres. myXslTransform
    myXslTransform->Load(S"books.xsl");
    
  7. Appeler la méthode transformation pour lancer la transformation, en transmettant le code XML source du document et le code XML transformé document nom. myXslTransform
    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");
    
  8. Générez et exécutez le projet. Vous pouvez voir le ISBNBookList.xml fichier dans votre dossier de fichiers projet.

Exécuter les exemples de code

// This is the main project file for VC++ application project 
// generated using an Application Wizard.

#include "stdafx.h"

#using <mscorlib.dll>
#using <System.XMl.Dll>
#include <tchar.h>

using namespace System;
using namespace System::Xml;
using namespace System::Xml::Xsl;


// This is the entry point for this application
int _tmain(void)
{
    XslTransform* myXslTransform;
    myXslTransform = new XslTransform();
    myXslTransform->Load(S"books.xsl");
    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");

    return 0;
}
note Vous devez ajouter l'option compilateur du prise en charge de runtime commun langue (/ clr:oldSyntax) de Visual C++ 2005 pour compiler avec succès l'exemple de code précédent. Pour ajouter l'option langue exécution prise en charge compilateur courantes dans Visual C++ 2005, procédez comme suit :
  1. Cliquez sur le projet , puis cliquez sur <ProjectName>Propriétés.

    note <ProjectName>est un espace réservé pour le nom du projet.
  2. Développez les propriétés de configuration , puis cliquez sur général .
  3. Cliquez pour sélectionner Common Language Runtime Support, l'ancienne syntaxe (/ clr:oldSyntax) dans le paramètre projet prend en charge du Common Language Runtime dans le volet droit, cliquez sur Appliquer , puis cliquez sur OK .
Pour plus d'informations sur le common language runtime prennent en charge option de compilateur, reportez-vous au site de Web Microsoft suivant adresse :
/CLR (Common Language Runtime compilation)
http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
Ces étapes s'appliquent à l'article entier.
Remarque : lors de la compilation au-dessus de code dans Visual C++ .NET 2003 , vous pouvez recevoir des C4996 compilateur avertissement. Cela est dû à « système:: Xml::Xsl::XslTransform::Transform » est déclarée obsolète.
Utilisez le code suivant afin que peut ne pas avertissement du compilateur C4996.

Remplacer : myXslTransform
myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");

avec myXslTransform
myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml", 0);

Références

Pour plus d'informations sur la classe XslTransform , consultez la bibliothèque de classes Microsoft .NET Framework suivant documentation :
Pour plus d'informations sur la classe XslTransform avec l'objet XslTransform , voir le suivant .NET Framework du développeur Microsoft Guide documentation :
Pour la une pratique comparaison de XSLT et ASP.NET, reportez-vous la colonne MSDN Online voix Extreme XML suivante :
Pour plus d'informations à propos de XML dans .NET, consultez le " XML dans .NET : .NET Framework XML classes et offre en c# simple, évolutive manipulation de données « article de MSDN Magazine au site Web de Microsoft à l'adresse suivante :
Pour plus générale d'informations sur Visual C++ .NET ou XML dans .NET, consultez les groupes de discussion Usenet suivants :

Propriétés

Numéro d'article: 815653 - Dernière mise à jour: mercredi 14 novembre 2007 - Version: 6.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Initiation
  • Microsoft Visual C++ .NET 2002 Initiation
Mots-clés : 
kbmt kbhowtomaster kbxml kbhowto KB815653 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 815653
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com