Lesen von Knotenstrukturen mit dem "XmlNodeReader"
Der XmlNodeReader stellt einen Reader über eine gegebene DOM-Knotenteilstruktur bereit. Er liest Knoten in der Teilstruktur, einschließlich Entitätsverweisknoten, und gibt diese zurück.
Der XmlNodeReader bietet die folgenden Funktionen:
- Er implementiert die Regeln für wohlgeformten XML-Code.
- Er erweitert Standardattribute und -entitäten, wenn DTD-Informationen im XmlDocument vorhanden sind. Weitere Informationen zum Abrufen von Informationen über Standardattribute finden Sie unter XmlReader.IsDefault-Eigenschaft.
Der folgende Code zeigt die Erstellung eines XmlNodeReaders aus einem XmlDocument:
Dim doc As New XmlDocument()
doc.Load("MyXml.xml")
Dim nodereader As New XmlNodeReader(doc)
While nodereader.Read()
' Read the XmlDocument as a stream of XML
End While
[C#]
XmlDocument doc = new XmlDocument();
doc.Load("MyXml.xml");
XmlNodeReader nodereader = new XmlNodeReader (doc);
while (nodereader.Read()) {
// Read the XmlDocument as a stream of XML
}
Ein XmlNodeReader kann auch mit einem beliebigen XmlNode innerhalb des XmlDocuments konstruiert werden.
Im folgenden Beispiel wird mit der Select-Methode und einem XPath-Ausdruck zu einem bestimmten Knoten im XmlDocument gewechselt. Anschließend wird an dieser Position ein XmlNodeReader erstellt. Die XML-Eingabedatei, Test.xml, enthält die folgenden Daten:
Imports System
Imports System.Xml
Public Class Test
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.Load("test.xml")
Dim child As XmlNode = doc.SelectSingleNode("/root/child")
If Not (child Is Nothing) Then
Dim nr As New XmlNodeReader(child)
While nr.Read()
Console.WriteLine(nr.Value)
End While
End If
End Sub 'Main
End Class 'Test
[C#]
using System;
using System.Xml;
public class Test {
public static void Main() {
XmlDocument doc = new XmlDocument();
doc.Load("test.xml");
XmlNode child = doc.SelectSingleNode("/root/child");
if (child != null) {
XmlNodeReader nr = new XmlNodeReader(child );
while (nr.Read() )
Console.WriteLine( nr.Value );
}
}
}
Siehe auch
Lesen von XML mit dem "XmlReader" | Lesen von XML-Daten mit "XmlTextReader" | Überprüfen von XML mit "XmlValidatingReader" | XmlReader-Klasse | XmlReader-Member | XmlNodeReader-Klasse | XmlNodeReader-Member | XmlTextReader-Klasse | XmlTextReader-Member | XmlValidatingReader-Klasse | XmlValidatingReader