XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und...

Preview:

Citation preview

XML-Verarbeitung mit dem .NET-Framework

Inhalt

1. XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen

2. XML-Verarbeitung mittels XmlDocument

3. XML-Serialisierung

XmlReader und XmlWriter (1)

• XmlReader ist eine abstrakte Klasse, die Methoden zum sequentiellen Lesen von XML-Daten bereitstellt

• Implementierungen des XmlReaders sind u.a. die Klassen XmlTextReader und XmlValidatingReader

• XmlReader-basierte Klassen können XML-Daten aus allen Stream-basierten Klassen beziehen

XmlReader und XmlWriter (2)

XmlReader und XmlWriter (3)

• Analog zum XmlReader stellt die abstrakte Klasse XmlWriter Methoden zum sequentiellen Schreiben von XML-Daten dar

• Wird u.a. durch XmlTextWriter erweitert

• Schreibt auf alle Stream-basierten Objekte

XmlReader und XmlWriter (4)

XmlReader und XmlWriter (5)

• Der sequentielle Datenzugriff verhindert eine effiziente Navigation durch den XML-Baum

• Vorteilhaft ist die höhere Geschwindigkeit beim Lesen und Schreiben von XML-Daten

XML-Verarbeitung mittels XmlDocument (1)

• Die XmlDocument-Klasse bietet eine hierarchische Sicht auf ein XML-Dokument

• Die Klasse bietet Methoden zum Lesen und Schreiben von Xml-Dateien

• Über die Methode SelectNodes() können Dokumentknoten mittels XPath selektiert werden

XML-Verarbeitung mittels XmlDocument (2)

XML-Verarbeitung mittels XmlDocument (3)

• Mittles der Methoden CreateElement(), AppendChild() und SetAttribute() können Elemente in den XML-Baum eingefügt werden

• Um Elemente zwischen zwei XML-Dokumenten hin- und her zu kopieren, müssen diese zunächst mittels ImportNode() in den Dokumentenkontext importiert werden

XML-Verarbeitung mittels XmlDocument (4)

XML-Verarbeitung mittels XmlDocument (5)

XML-Serialisierung (1)

• Das XML-Schema Definition Tool kann aus einer XSD automatisch dem Schema entsprechende Klassen generieren

• In diese Klassen kann ein Schema-konformes XML-Dokument mittels der Serialization.XMLSerializer-Klasse geladen werden

XML-Serialisierung (2)

Adressverzeichnis.xml

Addressverzeichnis.cs

Adressverzeichnis.xsd

xsd.exe Adressverzeichnis.xml

xsd.exe /c Adressverzeichnis.xsd

Ableitung des Schemas

XML-Datei

Schema-Definiton

Automatische Codegenerierung

Klassen, die der im Schemadefinierten Datenstruktur

entsprechen

XML-Serialisierung (3)

XML-Serialisierung (4)

XML-Serialisierung (5)

XML-Serialisierung (6)

XML-Serialisierung (7)

• Das XSD-Tool kann statt einer „einfachen“ Klasse auch eine DataSet-basierte Klasse erzeugen

• Die DataSet-Klasse repräsentiert eine Datenstruktur und bietet eine Reihe von Methoden zu deren Abfrage und Manipulation

XML-Serialisierung (8)

• Vorteil der XML-Serialisierung ist, dass kein unmittelbares (fehlerträchtiges) Handling der XML-Daten nötig ist

• Nachteilig ist, dass Methoden zur Element-Selektion selbst programmiert werden müssen

Recommended