다음을 통해 공유


XmlValidatingReader.AttributeCount 속성

현재 노드의 특성 수를 가져옵니다.

네임스페이스: System.Xml
어셈블리: System.Xml(system.xml.dll)

구문

‘선언
Public Overrides ReadOnly Property AttributeCount As Integer
‘사용 방법
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

속성 값

현재 노드에 포함된 특성의 수입니다. 이 수에는 기본 특성이 포함됩니다.

설명

참고

XmlValidatingReader 클래스는 Microsoft .NET Framework version 2.0에서 사용되지 않습니다. XmlReaderSettings 클래스와 Create 메서드를 사용하여 유효성 검사 XmlReader 인스턴스를 만들 수 있습니다. 자세한 내용은 XmlReader를 사용하여 XML 데이터의 유효성 검사를 참조하십시오.

이 속성은 Element, DocumentTypeXmlDeclaration 노드에만 관련이 있습니다. 다른 노드 형식에는 특성이 없습니다.

예제

다음 예제에서는 루트 노드의 모든 요소를 읽습니다.

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

플랫폼

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에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

XmlValidatingReader 클래스
XmlValidatingReader 멤버
System.Xml 네임스페이스

기타 리소스

XmlReader로 XML 읽기