XmlDocument.ReadNode(XmlReader) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
Parametry
- reader
- XmlReader
Źródło XML.
Zwraca
Nowe XmlNode lub null jeśli nie ma więcej węzłów.
Wyjątki
Czytnik jest umieszczony w typie węzła, który nie przekłada się na prawidłowy węzeł DOM (na przykład EndElement lub EndEntity).
Przykłady
W poniższym przykładzie użyto ReadNode polecenia , aby utworzyć nowy węzeł, a następnie wstawia nowy węzeł do dokumentu.
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
W przykładzie użyto pliku , cd.xmljako danych wejściowych.
<!-- sample CD -->
<cd genre='alternative'>
<title>Americana</title>
<artist>Offspring</artist>
</cd>
Uwagi
Odczytuje jeden XmlNode z danego czytnika i umieszcza czytelnika w następnym węźle. Ta metoda tworzy typ XmlNode dopasowania NodeType , na którym obecnie znajduje się czytnik. (Jeśli czytelnik jest w stanie początkowym, przechodzi czytnik do pierwszego węzła, ReadNode a następnie działa w tym węźle).
Jeśli czytnik jest umieszczony na początku elementu, ReadNode odczytuje wszystkie atrybuty i wszystkie węzły podrzędne, maksymalnie do i łącznie z tagiem końcowym bieżącego węzła. Zwrócony XmlNode element zawiera drzewo podrzędne reprezentujące wszystko, co jest odczytywane. Czytnik jest umieszczany natychmiast po tagu końcowym.
ReadNode może również odczytywać atrybuty, ale w tym przypadku nie powoduje przechodzenia czytnika do następnego atrybutu. Umożliwia to napisanie następującego kodu w języku C#:
XmlDocument doc = new XmlDocument();
while (reader.MoveToNextAttribute())
{
XmlNode a = doc.ReadNode(reader);
// Do some more processing.
}
ReadNode program używa jednak wartości atrybutu, co oznacza, że po wywołaniu ReadNode atrybutu XmlReader.ReadAttributeValue zwraca wartość false.
Notatki dotyczące dziedziczenia
Ta metoda ma zapotrzebowanie na dziedziczenie. Aby zastąpić metodę , wymagana ReadNode jest pełna relacja zaufania.
Ta metoda jest rozszerzeniem firmy Microsoft do modelu obiektów dokumentów (DOM).