XmlNode.GetEnumerator Метод

Определение

Возвращает перечислитель, выполняющий итерацию дочерних узлов текущего узла.

public:
 System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Возвращаемое значение

IEnumerator

Объект IEnumerator, который можно использовать для итерации дочерних узлов в текущем узле.

Примеры

В следующем примере отображаются все книги в XML-документе.

#using <System.Xml.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Xml;
int main()
{
   XmlDocument^ doc = gcnew XmlDocument;
   doc->Load( "books.xml" );
   Console::WriteLine( "Display all the books..." );
   XmlNode^ root = doc->DocumentElement;
   IEnumerator^ ienum = root->GetEnumerator();
   XmlNode^ book;
   while ( ienum->MoveNext() )
   {
      book = dynamic_cast<XmlNode^>(ienum->Current);
      Console::WriteLine( book->OuterXml );
      Console::WriteLine();
   }
}
using System;
using System.Collections;
using System.Xml;

public class Sample {

  public static void Main() {

    XmlDocument doc = new XmlDocument();
    doc.Load("books.xml");

    Console.WriteLine("Display all the books...");
    XmlNode root = doc.DocumentElement;
    IEnumerator ienum = root.GetEnumerator();
    XmlNode book;
    while (ienum.MoveNext())
    {
      book = (XmlNode) ienum.Current;
      Console.WriteLine(book.OuterXml);
      Console.WriteLine();
    }
  }
}
Imports System.Collections
Imports System.Xml

public class Sample

  public shared sub Main()
  
    Dim doc as XmlDocument = new XmlDocument()
    doc.Load("books.xml")

    Console.WriteLine("Display all the books...")
    Dim root as XmlNode = doc.DocumentElement
    Dim ienum as IEnumerator = root.GetEnumerator()
    Dim book as XmlNode
    while (ienum.MoveNext())      
      book = CType(ienum.Current, XmlNode)
      Console.WriteLine(book.OuterXml)
      Console.WriteLine()
    end while

  end sub
end class

В этом примере файл books.xmlиспользуется в качестве входных данных.


<?xml version='1.0'?>
<!-- This file represents a fragment of a book store inventory database -->
<bookstore>
  <book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.99</price>
  </book>
  <book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>11.99</price>
  </book>
  <book genre="philosophy" publicationdate="1991" ISBN="1-861001-57-6">
    <title>The Gorgias</title>
    <author>
      <name>Plato</name>
    </author>
    <price>9.99</price>
  </book>
</bookstore>

Комментарии

Обеспечивает поддержку итерации стиля "for each" по узлам в .XmlNode

Этот метод является расширением Майкрософт для модели объектов документов (DOM).

Применяется к