XmlNodeReader.MoveToNextAttribute Method

Definition

Moves to the next attribute.

C#
public override bool MoveToNextAttribute();

Returns

true if there is a next attribute; false if there are no more attributes.

Examples

The following example reads a book.

C#
using System;
using System.IO;
using System.Xml;

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

    try
    {
       //Create and load the XML document.
       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<book genre='novel' ISBN='1-861003-78'> " +
                   "<title>Pride And Prejudice</title>" +
                   "<price>19.95</price>" +
                   "</book>");

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

       //Read the attributes on the book element.
       reader.MoveToContent();
       while (reader.MoveToNextAttribute())
       {
         Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
       }

       //Move the reader to the title element.
       reader.Read();

       //Read the title and price elements.
       Console.WriteLine(reader.ReadElementString());
       Console.WriteLine(reader.ReadElementString());
     }

     finally
     {
        if (reader != null)
          reader.Close();
      }
  }
} // End class

Remarks

Note

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.

If the current node is not an attribute node, this method is equivalent to MoveToFirstAttribute. If MoveToNextAttribute returns true, the reader moves to the next attribute; otherwise, the position of the reader does not change.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1