XmlNode.GetEnumerator Method

Definition

Gets an enumerator that iterates through the child nodes in the current node.

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

Returns

An IEnumerator object that can be used to iterate through the child nodes in the current node.

Examples

The following example displays all the books in the XML document.

#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

The example uses the file, books.xml, as input.


<?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>

Remarks

Provides support for the "for each" style iteration over the nodes in the XmlNode.

This method is a Microsoft extension to the Document Object Model (DOM).

Applies to