XmlDocument.ReadNode(XmlReader) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
public:
virtual System::Xml::XmlNode ^ ReadNode(System::Xml::XmlReader ^ reader);
public virtual System.Xml.XmlNode ReadNode(System.Xml.XmlReader reader);
public virtual System.Xml.XmlNode? ReadNode(System.Xml.XmlReader reader);
abstract member ReadNode : System.Xml.XmlReader -> System.Xml.XmlNode
override this.ReadNode : System.Xml.XmlReader -> System.Xml.XmlNode
Public Overridable Function ReadNode (reader As XmlReader) As XmlNode
Parameters
- reader
- XmlReader
De XML-bron.
Retouren
De nieuwe XmlNode of null als er geen knooppunten meer bestaan.
Uitzonderingen
De lezer bevindt zich op een knooppunttype dat niet vertaalt naar een geldig DOM-knooppunt (bijvoorbeeld EndElement of EndEntity).
Voorbeelden
In het volgende voorbeeld wordt gebruikgemaakt ReadNode van het maken van een nieuw knooppunt en wordt het nieuwe knooppunt vervolgens in het document ingevoegd.
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
//Create the XmlDocument.
XmlDocument doc = new XmlDocument();
doc.LoadXml("<bookstore>" +
"<book genre='novel' ISBN='1-861001-57-5'>" +
"<title>Pride And Prejudice</title>" +
"</book>" +
"</bookstore>");
//Create a reader.
XmlTextReader reader = new XmlTextReader("cd.xml");
reader.MoveToContent(); //Move to the cd element node.
//Create a node representing the cd element node.
XmlNode cd = doc.ReadNode(reader);
//Insert the new node into the document.
doc.DocumentElement.AppendChild(cd);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
Option Explicit
Option Strict
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
'Create the XmlDocument.
Dim doc As New XmlDocument()
doc.LoadXml("<bookstore>" & _
"<book genre='novel' ISBN='1-861001-57-5'>" & _
"<title>Pride And Prejudice</title>" & _
"</book>" & _
"</bookstore>")
'Create a reader.
Dim reader As New XmlTextReader("cd.xml")
reader.MoveToContent() 'Move to the cd element node.
'Create a node representing the cd element node.
Dim cd As XmlNode = doc.ReadNode(reader)
'Insert the new node into the document.
doc.DocumentElement.AppendChild(cd)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub
End Class
In het voorbeeld wordt het bestand als cd.xmlinvoer gebruikt.
<!-- sample CD -->
<cd genre='alternative'>
<title>Americana</title>
<artist>Offspring</artist>
</cd>
Opmerkingen
Hiermee leest u een XmlNode van de opgegeven lezer en plaatst u de lezer op het volgende knooppunt. Met deze methode maakt u het type overeenkomst XmlNodeNodeType waarop de lezer zich momenteel bevindt. (Als de lezer de eerste status heeft, ReadNode gaat u naar het eerste knooppunt en werkt u vervolgens op dat knooppunt.)
Als de lezer aan het begin van een element staat, ReadNode leest u alle kenmerken en eventuele onderliggende knooppunten, tot en met de eindtag van het huidige knooppunt. De XmlNode geretourneerde bevat de substructuur die alles aangeeft dat is gelezen. De lezer wordt direct na de eindtag weergegeven.
ReadNode kan ook kenmerken lezen, maar in dit geval gaat de lezer niet verder naar het volgende kenmerk. Hiermee kunt u de volgende C#-code schrijven:
XmlDocument doc = new XmlDocument();
while (reader.MoveToNextAttribute())
{
XmlNode a = doc.ReadNode(reader);
// Do some more processing.
}
ReadNode verbruikt de kenmerkwaarde echter, wat betekent dat na het aanroepen ReadNode van een kenmerk, XmlReader.ReadAttributeValue retourneert false.
Notities voor overnemers
Deze methode heeft een overnamevraag. Volledig vertrouwen is vereist om de ReadNode methode te overschrijven.
Deze methode is een Microsoft extensie voor het Document Object Model (DOM).