Freigeben über


XmlValidatingReader.AttributeCount-Eigenschaft

Ruft die Anzahl der Attribute im aktuellen Knoten ab.

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

Syntax

'Declaration
Public Overrides ReadOnly Property AttributeCount As Integer
'Usage
Dim instance As XmlValidatingReader
Dim value As Integer

value = instance.AttributeCount
public override int AttributeCount { get; }
public:
virtual property int AttributeCount {
    int get () override;
}
/** @property */
public int get_AttributeCount ()
public override function get AttributeCount () : int

Eigenschaftenwert

Die Anzahl der Attribute im aktuellen Knoten. Hierzu zählen auch Standardattribute.

Hinweise

Hinweis

Die XmlValidatingReader-Klasse ist in Microsoft .NET Framework, Version 2.0 veraltet. Sie können eine Instanz eines validierenden XmlReader mithilfe der XmlReaderSettings-Klasse und der Create-Methode erstellen. Weitere Informationen finden Sie unter Validieren von XML-Daten mit "XmlReader".

Diese Eigenschaft ist lediglich für Element-Knoten, DocumentType-Knoten und XmlDeclaration-Knoten relevant. (Andere Knotentypen besitzen keine Attribute.)

Beispiel

Im folgenden Beispiel werden alle Elemente des Stammknotens gelesen.

Option Strict
Option Explicit

Imports System
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 'Main ' End class
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 <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();
   }

}
import System.*;
import System.IO.*;
import System.Xml.*;

public class Sample
{   
    public static void main(String[] args)
    {
        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.get_HasAttributes()) {
                for(int i=0; i < reader.get_AttributeCount(); i++) {
                    reader.MoveToAttribute(i);
                    Console.WriteLine("{0} = {1}",
                        reader.get_Name(), reader.get_Value());
                } 
                //Move the reader back to the node that owns the attribute.
                reader.MoveToElement();
            }
        }
        finally {
            if (reader != null) {
                reader.Close();
            }
        }
    } //main
} // End class Sample

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

XmlValidatingReader-Klasse
XmlValidatingReader-Member
System.Xml-Namespace

Weitere Ressourcen

Lesen von XML mit dem "XmlReader"