XmlDocument.ReadNode(XmlReader) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Parametreler
- reader
- XmlReader
XML kaynağı.
Döndürülenler
Yeni XmlNode
veya null
başka düğüm yoksa.
Özel durumlar
Okuyucu, geçerli bir DOM düğümüne (örneğin, EndElement veya EndEntity) çevrilmeyen bir düğüm türüne konumlandırılır.
Örnekler
Aşağıdaki örnek, yeni bir düğüm oluşturmak için kullanır ReadNode
ve ardından yeni düğümü belgeye ekler.
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
//Create the XmlDocument.
XmlDocument^ doc = gcnew XmlDocument;
doc->LoadXml( "<bookstore><book genre='novel' ISBN='1-861001-57-5'><title>Pride And Prejudice</title></book></bookstore>" );
//Create a reader.
XmlTextReader^ reader = gcnew 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 );
}
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
Örnekte giriş olarak dosyası cd.xml
kullanılır.
<!-- sample CD -->
<cd genre='alternative'>
<title>Americana</title>
<artist>Offspring</artist>
</cd>
Açıklamalar
Verilen okuyucudan bir XmlNode
tane okur ve okuyucuyu bir sonraki düğüme konumlandırıyor. Bu yöntem, okuyucunun XmlNode
şu anda konumlandırıldığı ile eşleşen NodeType türü oluşturur. (Okuyucu ilk durumdaysa okuyucuyu ReadNode
ilk düğüme ilerler ve ardından bu düğümde çalışır.)
Okuyucu bir öğenin başına konumlandırıldıysa, ReadNode
geçerli düğümün bitiş etiketine kadar ve dahil olmak üzere tüm öznitelikleri ve alt düğümleri okur. Döndürülen XmlNode
, okunan her şeyi temsil eden alt ağacı içerir. Okuyucu bitiş etiketinden hemen sonra konumlandırılır.
ReadNode
öznitelikleri de okuyabilir, ancak bu durumda okuyucuyu sonraki özniteliğe ilerletmez. Bu, aşağıdaki C# kodunu yazmanızı sağlar:
XmlDocument doc = new XmlDocument();
while (reader.MoveToNextAttribute())
{
XmlNode a = doc.ReadNode(reader);
// Do some more processing.
}
ReadNode
yine de öznitelik değerini tüketir, yani bir öznitelikte çağrıldıktan ReadNode
sonra döndürürfalse
. XmlReader.ReadAttributeValue
Devralanlara Notlar
Bu yöntemin devralma talebi vardır. Yöntemini geçersiz kılmak ReadNode
için tam güven gereklidir.
Bu yöntem, Belge Nesne Modeli'nin (DOM) Microsoft bir uzantısıdır.