XmlDocument.ReadNode(XmlReader) Yöntem

Tanım

içindeki XmlReaderbilgileri temel alan bir XmlNode nesne oluşturur. Okuyucu bir düğüme veya özniteliğe konumlandırılmalıdır.

C#
public virtual System.Xml.XmlNode ReadNode(System.Xml.XmlReader reader);
C#
public virtual System.Xml.XmlNode? ReadNode(System.Xml.XmlReader reader);

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.

C#
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);
  }
}

Örnekte giriş olarak dosyası cd.xmlkullanılır.

XML

<!-- 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:

C#
XmlDocument doc = new XmlDocument();
while (reader.MoveToNextAttribute())
{
  XmlNode a = doc.ReadNode(reader);
  // Do some more processing.
}

ReadNodeyine 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.

Şunlara uygulanır

Ürün Sürümler
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Ayrıca bkz.