Eine XSL-Transformation aus einem XML-Dokument zu einem anderen mithilfe von Visual C++ .NET oder Visual C++ 2005 anwenden

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 815653 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Eine Microsoft Visual C#-Version dieses Artikels finden Sie unter 307322.

Eine Microsoft Visual Basic .NET Version dieses Artikels finden Sie unter 300929.

Dieser Artikel bezieht sich auf die folgenden Namespaces für Microsoft .NET Framework-Klassenbibliotheken:
  • System.XML
  • System.Xml.xsl

IN diesem TASK

Zusammenfassung

Dieser schrittweise aufgebaute Artikel beschreibt die einer XSL (Extensible Stylesheet Language)-Transformation (XSLT) eines XML-Dokuments mithilfe der XslTransform -Klasse zum Erstellen einer neuen XML-Dokuments zuweisen. XSL ist eine XML-basierte Sprache, die zum Transformieren eines XML-Dokuments in einem anderen XML-Dokument oder zum Transformieren eines XML-Dokuments in anderen strukturiertes Dokument ausgelegt ist.

Voraussetzungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Microsoft Visual Studio .NET oder Microsoft Visual Studio 2005
  • Schnellstarts aus dem Microsoft .NET SDK (Software Development Kit)
In diesem Artikel wird vorausgesetzt, dass Sie über Erfahrungen auf den folgenden Gebieten verfügen:
  • XML-Terminologie
  • Erstellen und Lesen einer XML-Datei
  • XPath-Syntax (XPath = XML Path Language)
  • XSL

Schritte zum Erstellen des Beispiels

In diesem Beispiel werden zwei Dateien (Books.xml und Books.xsl) verwendet. Sie können Ihre eigenen Dateien Books.XML und Books.xsl erstellen oder können Sie die Beispiel Dateien, die mit .NET Software Development Kit (SDK) enthalten sind Schnellstarts. Kopieren Sie die books.XML und Books.xsl Dateien in den Ordner, in dem Sie dieses Projekt erstellen. Sie finden diese Dateien in den folgenden Ordner:
\Programme\Microsoft Visual Studio .NET\FrameworkSDK\Samples\QuickStart\Howto\Samples\Xml\Transformxml\Cs
  1. Erstellen Sie in Visual Studio .NET eine neue verwaltete C++-Anwendung-Projekt.

    Hinweis: Erstellen Sie in Visual Studio 2005 eine neue CLR-Konsolenanwendung.
  2. Fügen Sie folgenden Code einen Verweis auf den System.XML -Namespace hinzufügen:
    #using <System.XMl.Dll>
  3. Angeben der using -Anweisung auf XML und Xsl -Namespaces, sodass Sie keinen Deklarationen in diesen Namespaces später im Code vornehmen müssen. Verwenden Sie die Verwendung von -Anweisung vor alle anderen Deklarationen
    using namespace System::Xml;
    using namespace System::Xml::Xsl;
    
  4. Deklarieren Sie die entsprechenden Variablen, und deklarieren Sie ein XslTransform -Objekt zum Transformieren von XML-Dokumente.
    XslTransform* myXslTransform;
    
  5. Konstruieren Sie ein neues XslTransform -Objekt. Die XslTransform -Klasse ist ein XSLT-Prozessor, die XSLT 1.0 Empfehlung. implementiert
    myXslTransform = new XslTransform();
  6. Verwenden Sie die Load -Methode XslTransform -Objekt mit dem Stylesheet geladen werden. Dieses Stylesheet transformiert die Details der Datei Books.xsl in eine einfache ISBN-Liste mit Büchern. MyXslTransform-> Load(S"books.xsl");
    myXslTransform->Load(S"books.xsl");
    
  7. Rufen Sie die Transformation -Methode um die Transformation zu initiieren, übergeben Sie die Quell-XML-Dokument und die transformierte XML Dokument Name.
    myXslTransform->Transform(S"books.xml", S"ISBNBookList.xml");
    
  8. Erstellen Sie das Projekt, und führen Sie es aus. Sie sehen möglicherweise die ISBNBookList.xml-Datei in Ihrem Projektordner Datei.

Vollständiges Codebeispiel

// 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;
}
Hinweis: Müssen Sie die common Language Common Language Runtime Unterstützung Compiler-Option (/ CLR: oldSyntax) in Visual C++ 2005 um das vorherige Codebeispiel erfolgreich zu kompilieren. Gehen Sie folgendermaßen vor um die common Language Common Language Runtime Unterstützung-Compileroption in Visual C++ 2005 hinzuzufügen:
  1. Klicken Sie auf Projekt und dann auf <ProjectName> Eigenschaften .

    Hinweis: <ProjectName> ist ein Platzhalter für den Namen des Projekts.
  2. Erweitern Sie Konfiguration , und klicken Sie dann auf Allgemein .
  3. Klicken Sie auf Common Language Runtime-Unterstützung, alte Syntax (/ CLR: oldSyntax) in der Common Language Runtime-Unterstützung Projekt Einstellung im rechten Fensterbereich klicken Sie auf Übernehmen und klicken Sie dann auf OK .
Weitere Informationen über die common Language Runtime unterstützt Compileroption, besuchen Sie die folgenden Microsoft-Website:
/ Clr (Common Language Runtime Compilation)
http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
Diese Schritte gelten für den gesamten Artikel.
Hinweis : beim Kompilieren über Code in Visual C++ .NET 2003 , kann sinngemäß C4996 Compilerwarnung. Dies liegt daran, dass "System:: Xml::Xsl::XslTransform::Transform" als veraltet deklariert.
Verwenden Sie folgenden Code, sodass Sie nicht C4996 Compilerwarnung erhalten können.

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

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

Informationsquellen

Weitere Informationen über die XslTransform -Klasse finden Sie unter der folgenden Microsoft .NET Framework-Klassenbibliothek-Dokumentation:
Weitere Informationen über die XslTransform -Klasse mit der XslTransform -Objekt finden Sie unter der folgenden Microsoft .NET Framework Developer's Guide Dokumentation:
Einen praktischen Vergleich zwischen XSLT und ASP.NET finden Sie in der folgenden MSDN Online Voices Extreme XML-Kolumne:
Weitere Informationen zu XML in .NET finden Sie unter der "XML in .NET: .NET Framework XML Classes and c# Offer Simple, Scalable Data Manipulation" Artikels aus dem MSDN Magazine der folgenden Microsoft-Website:
Allgemeinere Informationen Visual C++ .NET oder XML in .NET finden Sie unter den folgenden Usenet-Newsgroups:

Eigenschaften

Artikel-ID: 815653 - Geändert am: Mittwoch, 14. November 2007 - Version: 6.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
  • Microsoft Visual C++ .NET 2002 Standard Edition
Keywords: 
kbmt kbhowtomaster kbxml kbhowto KB815653 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 815653
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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