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.
Es gibt zwei Möglichkeiten, ein XML-Dokument im System.Xml.XPath Namespace zu lesen. Eine ist das Lesen eines XML-Dokuments mit der schreibgeschützten XPathDocument Klasse und das andere ist das Lesen eines XML-Dokuments mithilfe der bearbeitbaren XmlDocument Klasse im System.Xml Namespace.
Lesen von XML-Dokumenten mithilfe der XPathDocument-Klasse
Die XPathDocument Klasse stellt eine schnelle, schreibgeschützte, speicherinterne Darstellung eines XML-Dokuments mithilfe des XPath-Datenmodells bereit. Instanzen der XPathDocument Klasse werden mit einem der sechs Konstruktoren erstellt. Mit diesen Konstruktoren können Sie ein XML-Dokument mithilfe eines Stream, TextReaderoder XmlReader Objekts sowie den string
Pfad zu einer XML-Datei lesen.
Das folgende Beispiel veranschaulicht die Verwendung des XPathDocumentstring
Klassenkonstruktors zum Lesen eines XML-Dokuments.
Dim document As XPathDocument = New XPathDocument("books.xml")
XPathDocument document = new XPathDocument("books.xml");
Lesen von XML-Dokumenten mithilfe der XmlDocument-Klasse
Die XmlDocument Klasse ist eine bearbeitbare Speicherdarstellung eines XML-Dokuments, das W3C Document Object Model (DOM) Level 1 Core und Core DOM Level 2 implementiert. Instanzen der XmlDocument Klasse werden mit einem der drei Konstruktoren erstellt. Sie können ein neues, leeres XmlDocument Objekt erstellen, indem Sie den XmlDocument Klassenkonstruktor ohne Parameter aufrufen. Verwenden Sie nach dem Aufrufen des Konstruktors die Load Methode zum Laden von XML-Daten in das neue XmlDocument Objekt aus einem Stream, TextReaderoder XmlReader Objekt sowie dem string
Pfad zu einer XML-Datei.
Das folgende Beispiel veranschaulicht die Verwendung des XmlDocument Klassenkonstruktors ohne Parameter und die Load Methode zum Lesen eines XML-Dokuments.
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 verwendet werden, um ein XML-Dokument zu lesen und XPathDocument- und XmlDocument-Objekte zu erstellen, wie in den vorherigen Abschnitten gezeigt. Ein Objekt kann jedoch Daten lesen, XmlReader die nicht codiert sind und daher keine Codierungsinformationen bereitstellen.
Die XmlTextReader Klasse erbt von der XmlReader Klasse, stellt Codierungsinformationen mithilfe ihrer Encoding Eigenschaft bereit und kann zum Erstellen eines XPathDocument Objekts oder XmlDocument Objekts verwendet werden.
Weitere Informationen zu den von der XmlTextReader Klasse bereitgestellten Codierungsinformationen finden Sie in der Encoding Eigenschaft in der XmlTextReader Klassenreferenzdokumentation.
Erstellen von XPathNavigator-Objekten
Nachdem Sie ein XML-Dokument in ein XPathDocument oder XmlDocument ein Objekt gelesen haben, können Sie ein XPathNavigator Objekt erstellen, um die zugrunde liegenden XML-Daten auszuwählen, auszuwerten, zu navigieren und in einigen Fällen zu bearbeiten.
Sowohl die XPathDocument-Klasse als auch die XmlDocument-Klasse, zusätzlich zur XmlNode-Klasse, implementieren die IXPathNavigable-Schnittstelle des System.Xml.XPath-Namespaces. Daher 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 in XML-Daten kann die XPathNavigator Klasse verwendet werden, um ein XML-Dokument in einigen Fällen basierend auf dem Objekt zu bearbeiten, das es erstellt hat.
Die XPathDocument-Klasse ist schreibgeschützt, während die XmlDocument-Klasse bearbeitbar ist. Daher können Objekte, die aus einem XPathNavigator-Objekt erstellt wurden, ein XPathDocument XML-Dokument nicht bearbeiten, während Objekte, die aus einem XmlDocument-Objekt erstellt wurden, dies können. Die XPathDocument Klasse sollte nur zum Lesen eines XML-Dokuments verwendet werden. In Fällen, in denen Sie ein XML-Dokument bearbeiten müssen oder Zugriff auf die zusätzliche Funktionalität erfordern, die von der XmlDocument Klasse bereitgestellt wird, z. B. die Ereignisbehandlung, sollte die XmlDocument Klasse verwendet werden.
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 |
---|---|
XPathDocument | false |
XmlDocument | true |