Export (0) Print
Expand All

XmlValidatingReader.MoveToElement Method

Moves to the element that contains the current attribute node.

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

public override bool MoveToElement()

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

NoteNote:

The XmlValidatingReader class is obsolete in .NET Framework version 2.0. You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. For more information, see Validating XML Data with XmlReader.

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 elements on the root node.

using System;
using System.IO;
using System.Xml;

public class Sample 
{
  public static void Main()
  {
    XmlValidatingReader reader = null;

    try
    {
       //Create the string to parse.
       string xmlFrag="<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> ";

       //Create the XmlNamespaceManager.
       NameTable nt = new NameTable();
       XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);

       //Create the XmlParserContext.
       XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);

       //Create the XmlValidatingReader .
       reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context);

       //Read the attributes on the root element.
       reader.MoveToContent();
       if (reader.HasAttributes){
         for (int i=0; i<reader.AttributeCount; i++){
            reader.MoveToAttribute(i);
            Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
         }
         //Move the reader back to the node that owns the attribute.
         reader.MoveToElement();
       }

     } 

     finally 
     {
        if (reader != null)
          reader.Close();
      }
  }
} // End class
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;

int main()
{
   XmlValidatingReader* reader = 0;

   try
   {
      //Create the string to parse.
      String* xmlFrag=S"<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> ";

      //Create the XmlNamespaceManager.
      NameTable* nt = new NameTable();
      XmlNamespaceManager* nsmgr = new XmlNamespaceManager(nt);

      //Create the XmlParserContext.
      XmlParserContext* context = new XmlParserContext(0, nsmgr, 0, XmlSpace::None);

      //Create the XmlValidatingReader .
      reader = new XmlValidatingReader(xmlFrag, XmlNodeType::Element, context);

      //Read the attributes on the root element.
      reader->MoveToContent();
      if (reader->HasAttributes){
         for (int i=0; i<reader->AttributeCount; i++){
            reader->MoveToAttribute(i);
            Console::WriteLine(S"{0} = {1}", reader->Name, reader->Value);
         }
         //Move the reader back to the node that owns the attribute.
         reader->MoveToElement();
      }

   } 

   __finally 
   {
      if (reader != 0)
         reader->Close();
   }
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft