XmlNodeReader::MoveToElement Method ()


Moves to the element that contains the current attribute node.

Namespace:   System.Xml
Assembly:  System.Xml (in System.Xml.dll)

virtual bool MoveToElement() override

Return Value

Type: System::Boolean

true if the reader is positioned on an attribute (the reader moves to the element that owns the attribute); false if the reader is not positioned on an attribute (the position of the reader does not change).


In the .NET Framework 2.0, the recommended practice is to create XmlReader instances using the XmlReaderSettings class and the Create method. This allows you to take full advantage of all the new features introduced in the .NET Framework. For more information, see the Remarks section in the XmlReader reference page.

Use this method to return to an element after navigating through its attributes. This method moves the reader to one of the following node types: Element, DocumentType, or XmlDeclaration.

The following example reads all the attributes on the root node.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
   XmlNodeReader^ reader = nullptr;

      //Create and load the XML document.
      XmlDocument^ doc = gcnew XmlDocument;
      doc->LoadXml( "<book genre='novel' ISBN='1-861003-78' publicationdate='1987'> "
      "</book>" );

      //Load the XmlNodeReader 
      reader = gcnew XmlNodeReader( doc );

      //Read the attributes on the root element.
      if ( reader->HasAttributes )
         for ( int i = 0; i < reader->AttributeCount; i++ )
            reader->MoveToAttribute( i );
            Console::WriteLine( "{0} = {1}", reader->Name, reader->Value );

      if ( reader != nullptr )


.NET Framework
Available since 1.1
Return to top