XmlValidatingReader::MoveToAttribute Method (Int32)

 

Moves to the attribute with the specified index.

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

public:
virtual void MoveToAttribute(
	int i
) override

Parameters

i
Type: System::Int32

The index of the attribute.

Exception Condition
ArgumentOutOfRangeException

The i parameter is less than 0 or greater than or equal to AttributeCount.

System_CAPS_noteNote

The XmlValidatingReader class is obsolete in .NET Framework 2.0. You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. For more information, see the Remarks section of the XmlReader reference page.

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

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlValidatingReader^ reader = nullptr;
   try
   {

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

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

      //Create the XmlParserContext.
      XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None );

      //Create the XmlValidatingReader .
      reader = gcnew 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 );

         }
         reader->MoveToElement();
      }
   }
   finally
   {
      if ( reader != nullptr )
            reader->Close();
   }

}

.NET Framework
Available since 1.1
Return to top
Show: