XmlValidatingReader.AttributeCount Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the number of attributes on the current node.
public:
virtual property int AttributeCount { int get(); };
public override int AttributeCount { get; }
member this.AttributeCount : int
Public Overrides ReadOnly Property AttributeCount As Integer
Property Value
The number of attributes on the current node. This number includes default attributes.
Examples
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();
}
}
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
Option Strict
Option Explicit
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim reader As XmlValidatingReader = Nothing
Try
'Create the string to parse.
Dim xmlFrag As String = "<book genre='novel' ISBN='1-861003-78' pubdate='1987'></book> "
'Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
'Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)
'Create the XmlValidatingReader .
reader = New XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)
'Read the attributes on the root element.
reader.MoveToContent()
If reader.HasAttributes Then
Dim i As Integer
For i = 0 To reader.AttributeCount - 1
reader.MoveToAttribute(i)
Console.WriteLine("{0} = {1}", reader.Name, reader.Value)
Next i
'Move the reader back to the node that owns the attribute.
reader.MoveToElement()
End If
Finally
If Not (reader Is Nothing) Then
reader.Close()
End If
End Try
End Sub
End Class
Remarks
Note
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.)