XmlValidatingReader.AttributeCount Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Gets the number of attributes on the current node.

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

public override int AttributeCount { get; }

Property Value

Type: System.Int32

The number of attributes on the current node. This number includes default attributes.


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.

This property is relevant to Element, DocumentType, and XmlDeclaration nodes only. (Other node types do not have attributes.)

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;

       //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.
       if (reader.HasAttributes){
         for (int i=0; i<reader.AttributeCount; i++){
            Console.WriteLine("{0} = {1}", reader.Name, reader.Value);
         //Move the reader back to the node that owns the attribute.


        if (reader != null)
} // End class

.NET Framework
Available since 1.1
Return to top