XmlDocument.ReadNode(XmlReader) Metódus

Definíció

Létrehoz egy XmlNode objektumot a XmlReader. Az olvasót csomóponton vagy attribútumon kell elhelyezni.

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

Paraméterek

reader
XmlReader

Az XML-forrás.

Válaszok

Az új XmlNode vagy null ha nincs több csomópont.

Kivételek

Az olvasó olyan csomóponttípuson van elhelyezve, amely nem fordítható le érvényes DOM-csomópontra (például EndElement vagy EndEntity).

Példák

Az alábbi példa egy új csomópont létrehozását, majd az új csomópont beszúrását használja ReadNode a dokumentumba.

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

A példa a fájlt cd.xmlhasználja bemenetként.


<!-- sample CD -->
<cd genre='alternative'>
  <title>Americana</title>
  <artist>Offspring</artist>
</cd>

Megjegyzések

Beolvassa az egyiket XmlNode az adott olvasóból, és elhelyezi az olvasót a következő csomóponton. Ez a metódus létrehozza az olvasó aktuális helyének XmlNode megfelelő NodeType típust. (Ha az olvasó kezdeti állapotban van, az olvasót az első csomópontra irányítja, ReadNode majd azon a csomóponton működik.)

Ha az olvasó egy elem elején van elhelyezve, ReadNode beolvassa az összes attribútumot és gyermekcsomópontot az aktuális csomópont zárócímkéjén. A XmlNode visszaadott érték tartalmazza az összes olvasottat képviselő alfát. Az olvasó közvetlenül a végcímke után van elhelyezve.

ReadNode az attribútumok olvasására is képes, de ebben az esetben nem lépteti át az olvasót a következő attribútumra. Ez lehetővé teszi a következő C#-kód írását:

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

ReadNodeazonban az attribútumértéket használja, ami azt jelenti, ReadNode hogy egy attribútum meghívása XmlReader.ReadAttributeValue után a függvény visszaadja az falseértéket.

Megjegyzések az öröklőkhöz

Ez a metódus öröklési igényű. A metódus felülbírálásához ReadNode teljes megbízhatóság szükséges.

Ez a metódus a Dokumentumobjektum-modell (DOM) Microsoft bővítménye.

A következőre érvényes:

Lásd még