Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
Es gibt zwei Möglichkeiten, wie ein XML-Dokument in einem System.Xml.XPath-Namespace gelesen werden kann. Zum einem kann ein XML-Dokument mithilfe der schreibgeschützten XPathDocument-Klasse und zum anderen mithilfe der editierbaren XmlDocument-Klasse im System.Xml-Namespace gelesen werden.
Lesen von XML-Dokumenten mithilfe der XPathDocument-Klasse
Die XPathDocument-Klasse bietet eine schnelle, schreibgeschützte Darstellung eines XML-Dokuments im Speicher mithilfe des XPath-Datenmodells. Instanzen der XPathDocument-Klasse werden mithilfe einer ihrer sechs Konstruktoren erstellt. Diese Konstruktoren ermöglichen das Lesen eines XML-Dokuments mithilfe eines der Objekte Stream, TextReader oder XmlReader sowie des string-Pfads zu einer XML-Datei.
Im folgenden Beispiel wird die Verwendung des string-Konstruktors der XPathDocument-Klasse zum Lesen eines XML-Dokuments veranschaulicht.
Lesen von XML-Dokumenten mithilfe der XmlDocument-Klasse
Bei der XmlDocument-Klasse handelt es sich um eine editierbare speicherresidente Darstellung eines XML-Dokuments, die das DOM Level 1 Core und das DOM Level 2 Core des W3C implementiert. Instanzen der XmlDocument-Klasse werden mithilfe eines ihrer drei Konstruktoren erstellt. Sie können ein neues, leeres XmlDocument-Objekt erstellen, indem Sie den Konstruktor der XmlDocument-Klasse ohne Parameter aufrufen. Verwenden Sie nach dem Aufrufen des Konstruktors die Load-Methode, um XML-Daten aus einem der Objekte Stream, TextReader oder XmlReader sowie aus dem string-Pfad zu einer XML-Datei in das neue XmlDocument-Objekt zu laden.
Im folgenden Beispiel wird die Verwendung des Konstruktors der XmlDocument-Klasse ohne Parameter und die Verwendung der Load-Methode zum Lesen eines XML-Dokuments veranschaulicht.
Dim document As XmlDocument = New XmlDocument()
document.Load("books.xml")
XmlDocument document = new XmlDocument();
document.Load("books.xml");
Bestimmen der Codierung eines XML-Dokuments
Ein XmlReader-Objekt kann, wie in den vorangehenden Abschnitten dargestellt, zum Lesen eines XML-Dokuments und zum Erstellen eines XPathDocument-Objekts und eines XmlDocument-Objekts verwendet werden. Ein XmlReader-Objekt liest jedoch u. U. nicht codierte Daten und stellt folglich keine Codierungsinformationen bereit.
Die XmlTextReader-Klasse erbt von der XmlReader-Klasse, stellt mithilfe ihrer Encoding-Eigenschaft Codierungsinformationen bereit und kann zum Erstellen eines XPathDocument-Objekts oder eines XmlDocument-Objekts verwendet werden.
Weitere Informationen über die von der XmlTextReader-Klasse bereitgestellten Codierungsinformationen finden Sie unter der Encoding-Eigenschaft in der Referenzdokumentation der XmlTextReader-Klasse.
Erstellen von XPathNavigator-Objekten
Nachdem Sie ein XML-Dokument in ein XPathDocument-Objekt oder ein XmlDocument-Objekt gelesen haben, können Sie ein XPathNavigator-Objekt zum Auswählen, Auswerten, Navigieren und in einigen Fällen zum Bearbeiten der zugrunde liegenden XML-Daten erstellen.
Zusätzlich zur XmlNode-Klasse implementieren sowohl die XPathDocument-Klasse als auch die XmlDocument-Klasse die IXPathNavigable-Schnittstelle des System.Xml.XPath-Namespaces. Folglich stellen alle drei Klassen eine CreateNavigator-Methode bereit, die ein XPathNavigator-Objekt zurückgibt.
Bearbeiten von XML-Dokumenten mithilfe der XPathNavigator-Klasse
Zusätzlich zum Auswählen, Auswerten und Navigieren von XML-Daten kann die XPathNavigator-Klasse in einigen Fällen auch zum Bearbeiten eines XML-Dokuments anhand des Objekts, mit dem es erstellt wurde, verwendet werden.
Die XPathDocument-Klasse ist schreibgeschützt, während die XmlDocument-Klasse bearbeitet werden kann. Daher können XPathNavigator-Objekte, die auf der Grundlage eines XPathDocument-Objekts erstellt wurden, nicht zur Verarbeitung eines XML-Dokuments verwendet werden, während Objekte, die auf der Grundlage eines XmlDocument-Objekts erstellt wurden, für die Verarbeitung von XML-Dokumenten eingesetzt werden können. Die XPathDocument-Klasse sollte nur zum Lesen von XML-Dokumenten verwendet werden.In Fällen, bei denen Sie ein XML-Dokument bearbeiten müssen oder Zugriff auf zusätzliche Funktionen benötigen, die von der XmlDocument-Klasse bereitgestellt werden (z. B. Ereignisbehandlung), sollten Sie die XmlDocument-Klasse verwenden.
Die CanEdit-Eigenschaft der XPathNavigator-Klasse gibt an, ob ein XPathNavigator-Objekt XML-Daten bearbeiten kann.
In der folgenden Tabelle wird der Wert der CanEdit-Eigenschaft für jede Klasse beschrieben.
IXPathNavigable-Implementierung |
CanEdit-Wert |
|---|---|
false |
|
true |
Siehe auch
Konzepte
Verarbeiten von XML-Daten mithilfe des XPath-Datenmodells
Zugreifen auf XML-Daten mit "XPathNavigator"
Bearbeiten von XML-Daten mit "XPathNavigator"
Schema-Validierung mithilfe von "XPathNavigator"