20
XML-Verarbeitung mit dem .NET-Framework

XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

Embed Size (px)

Citation preview

Page 1: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Verarbeitung mit dem .NET-Framework

Page 2: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

Inhalt

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

2. XML-Verarbeitung mittels XmlDocument

3. XML-Serialisierung

Page 3: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 4: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XmlReader und XmlWriter (2)

Page 5: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 6: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XmlReader und XmlWriter (4)

Page 7: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 8: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 9: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Verarbeitung mittels XmlDocument (2)

Page 10: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 11: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Verarbeitung mittels XmlDocument (4)

Page 12: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Verarbeitung mittels XmlDocument (5)

Page 13: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 14: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 15: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Serialisierung (3)

Page 16: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Serialisierung (4)

Page 17: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Serialisierung (5)

Page 18: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

XML-Serialisierung (6)

Page 19: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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

Page 20: XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument

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