Freigeben über


Funktionale XML-Transformation

Aktualisiert: November 2007

In diesem Thema wird der Ansatz der reinen funktionalen Transformation zum Ändern von XML-Dokumenten erläutert und dem prozeduralen Ansatz gegenübergestellt.

Ändern eines XML-Dokuments

Eine der häufigsten Aufgaben, die XML-Programmierer zu lösen haben, ist das Transformieren von XML von einer Form in eine andere Form. Die Form eines XML-Dokuments wird durch die Struktur des Dokuments bestimmt. Zur Form gehört Folgendes:

  • die durch das Dokument ausgedrückte Hierarchie

  • die Element- und Attributnamen

  • die Datentypen der Elemente und Attribute

Beim Transformieren von XML von einer Form in eine andere ist es in der Regel am effektivsten, mit der reinen funktionalen Transformation zu arbeiten. Bei dieser Herangehensweise muss der Programmierer in erster Linie eine Transformation erstellen, die auf das gesamte XML-Dokument (oder auf einen oder mehrere streng definierte Knoten) angewendet wird. Die funktionale Transformation ist (zumindest für Programmierer, die damit vertraut sind) sicher am einfachsten zu codieren, führt zu gut verwaltbarem Code und ist häufig kompakter als andere Herangehensweisen.

Technologien für die funktionale XML-Transformation

Microsoft bietet zwei funktionale Transformationstechnologien für XML-Dokumente: XSLT und LINQ to XML. XSLT wird im verwalteten System.Xml.Xsl-Namespace und in der systemeigenen COM-Implementierung von MSXML unterstützt. XSLT ist zwar eine robuste Technologie zum Ändern von XML-Dokumenten, erfordert aber Kenntnisse auf einem speziellen Gebiet: der XSLT-Sprache und der sie unterstützenden APIs.

LINQ to XML stellt die Tools bereit, die für das ausdrucksstarke und leistungsfähige Codieren reiner funktionaler Transformationen innerhalb des C#- und des Visual Basic-Codes benötigt werden. So verwenden z. B. viele der in der LINQ to XML-Dokumentation verwendeten Beispiele reine Funktionen. Auch im Lernprogramm Bearbeiten des Inhalts eines WordprocessingML-Dokuments wird die funktionale Herangehensweise verwendet, um Informationen in einem Microsoft Word-Dokument zu bearbeiten.

Einen ausführlicheren Vergleich zwischen LINQ to XML und anderen XML-Technologien von Microsoft finden Sie unter Vergleich von LINQ to XML mit anderen XML-Technologien.

XSLT ist das empfohlene Tool für dokumentorientierte Transformationen, wenn das Quelldokument eine unregelmäßige Struktur besitzt. Dokumentorientierte Transformationen können aber auch von LINQ to XML ausgeführt werden. Weitere Informationen dazu finden Sie unter Gewusst wie: Verwenden von Anmerkungen zum Transformieren von LINQ to XML-Strukturen in ein XSLT-Format.

Siehe auch

Konzepte

Einführung in funktionale Transformationen mit reinen Funktionen

Lernprogramm: Bearbeiten des Inhalts eines WordprocessingML-Dokuments

Vergleich von LINQ to XML mit anderen XML-Technologien