Upload
hrodebert-munsinger
View
105
Download
0
Embed Size (px)
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