XmlValidatingReader.MoveToAttribute Metoda

Definicja

Przenosi do określonego atrybutu.Moves to the specified attribute.

Przeciążenia

MoveToAttribute(Int32)

Przenosi do atrybutu o określonym indeksie.Moves to the attribute with the specified index.

MoveToAttribute(String)

Przenosi do atrybutu o określonej nazwie.Moves to the attribute with the specified name.

MoveToAttribute(String, String)

Przenosi do atrybutu z określoną nazwą lokalną i przestrzenią nazw Uniform Resource Identifier (URI).Moves to the attribute with the specified local name and namespace Uniform Resource Identifier (URI).

MoveToAttribute(Int32)

Przenosi do atrybutu o określonym indeksie.Moves to the attribute with the specified index.

public:
 override void MoveToAttribute(int i);
public override void MoveToAttribute (int i);
override this.MoveToAttribute : int -> unit
Public Overrides Sub MoveToAttribute (i As Integer)

Parametry

i
Int32

Indeks atrybutu.The index of the attribute.

Wyjątki

Parametr i jest mniejszy niż 0 lub większy lub równy AttributeCount.The i parameter is less than 0 or greater than or equal to AttributeCount.

Przykłady

Poniższy przykład odczytuje wszystkie elementy w węźle głównym.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

Uwagi

Uwaga

Klasa XmlValidatingReader jest przestarzała w .NET Framework 2.0.NET Framework 2.0.The XmlValidatingReader class is obsolete in .NET Framework 2.0.NET Framework 2.0. Można utworzyć sprawdzanie poprawności wystąpienia XmlReader przy użyciu klasy XmlReaderSettings i metody Create.You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Aby uzyskać więcej informacji, zobacz sekcję uwagi na stronie odniesienia XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Zobacz też

MoveToAttribute(String)

Przenosi do atrybutu o określonej nazwie.Moves to the attribute with the specified name.

public:
 override bool MoveToAttribute(System::String ^ name);
public override bool MoveToAttribute (string name);
override this.MoveToAttribute : string -> bool
Public Overrides Function MoveToAttribute (name As String) As Boolean

Parametry

name
String

Kwalifikowana nazwa atrybutu.The qualified name of the attribute.

Zwraca

Boolean

true, jeśli atrybut zostanie znaleziony; w przeciwnym razie false.true if the attribute is found; otherwise, false. Jeśli false, pozycja czytnika nie zmienia się.If false, the position of the reader does not change.

Przykłady

Poniższy przykład odczytuje atrybut z tekstem i węzłami odwołania do jednostek.The following example reads an attribute with text and entity reference nodes.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlValidatingReader^ reader = nullptr;
   try
   {
      
      //Create the XML fragment to be parsed.
      String^ xmlFrag = "<book genre='novel' misc='sale-item &h; 1987'></book>";
      
      //Create the XmlParserContext.
      XmlParserContext^ context;
      String^ subset = "<!ENTITY h 'hardcover'>";
      context = gcnew XmlParserContext( nullptr,nullptr,"book",nullptr,nullptr,subset,"","",XmlSpace::None );
      
      //Create the reader and set it to not expand general entities. 
      reader = gcnew XmlValidatingReader( xmlFrag,XmlNodeType::Element,context );
      reader->ValidationType = ValidationType::None;
      reader->EntityHandling = EntityHandling::ExpandCharEntities;
      
      //Read the misc attribute. Because EntityHandling is set to
      //ExpandCharEntities, the attribute is parsed into multiple text
      //and entity reference nodes.
      reader->MoveToContent();
      reader->MoveToAttribute( "misc" );
      while ( reader->ReadAttributeValue() )
      {
         if ( reader->NodeType == XmlNodeType::EntityReference )
                  
         //To expand the entity, call ResolveEntity.
         Console::WriteLine( "{0} {1}", reader->NodeType, reader->Name );
         else
                  Console::WriteLine( "{0} {1}", reader->NodeType, reader->Value );
      }
   }
   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 XML fragment to be parsed.
       string xmlFrag ="<book genre='novel' misc='sale-item &h; 1987'></book>";

       //Create the XmlParserContext.
       XmlParserContext context;
       string subset = "<!ENTITY h 'hardcover'>";
       context = new XmlParserContext(null, null, "book", null, null, subset, "", "", XmlSpace.None);

       //Create the reader and set it to not expand general entities.
       reader = new XmlValidatingReader(xmlFrag, XmlNodeType.Element, context);
       reader.ValidationType = ValidationType.None;
       reader.EntityHandling = EntityHandling.ExpandCharEntities;

       //Read the misc attribute. Because EntityHandling is set to
       //ExpandCharEntities, the attribute is parsed into multiple text
       //and entity reference nodes.
       reader.MoveToContent();
       reader.MoveToAttribute("misc");
       while (reader.ReadAttributeValue()){
          if (reader.NodeType==XmlNodeType.EntityReference)
            //To expand the entity, call ResolveEntity.
            Console.WriteLine("{0} {1}", reader.NodeType, reader.Name);
          else
             Console.WriteLine("{0} {1}", reader.NodeType, reader.Value);
        }
     }
     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 XML fragment to be parsed.
            Dim xmlFrag As String = "<book genre='novel' misc='sale-item &h; 1987'></book>"
            
            'Create the XmlParserContext.
            Dim context As XmlParserContext
            Dim subset As String = "<!ENTITY h 'hardcover'>"
            context = New XmlParserContext(Nothing, Nothing, "book", Nothing, Nothing, subset, "", "", XmlSpace.None)
            
            'Create the reader and set it to not expand general entities. 
            reader = New XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)
            reader.ValidationType = ValidationType.None
            reader.EntityHandling = EntityHandling.ExpandCharEntities
            
            'Read the misc attribute. Because EntityHandling is set to
            'ExpandCharEntities, the attribute is parsed into multiple text
            'and entity reference nodes.
            reader.MoveToContent()
            reader.MoveToAttribute("misc")
            While reader.ReadAttributeValue()
                If reader.NodeType = XmlNodeType.EntityReference Then
                    'To expand the entity, call ResolveEntity.
                    Console.WriteLine("{0} {1}", reader.NodeType, reader.Name)
                Else
                    Console.WriteLine("{0} {1}", reader.NodeType, reader.Value)
                End If
            End While
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Uwagi

Uwaga

Klasa XmlValidatingReader jest przestarzała w .NET Framework 2.0.NET Framework 2.0.The XmlValidatingReader class is obsolete in .NET Framework 2.0.NET Framework 2.0. Można utworzyć sprawdzanie poprawności wystąpienia XmlReader przy użyciu klasy XmlReaderSettings i metody Create.You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Aby uzyskać więcej informacji, zobacz sekcję uwagi na stronie odniesienia XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Po wywołaniu tej metody właściwości Name, NamespaceURIi Prefix odzwierciedlają właściwości tego atrybutu.After calling this method, the Name, NamespaceURI, and Prefix properties reflect the properties of that attribute.

Zobacz też

MoveToAttribute(String, String)

Przenosi do atrybutu z określoną nazwą lokalną i przestrzenią nazw Uniform Resource Identifier (URI).Moves to the attribute with the specified local name and namespace Uniform Resource Identifier (URI).

public:
 override bool MoveToAttribute(System::String ^ localName, System::String ^ namespaceURI);
public override bool MoveToAttribute (string localName, string namespaceURI);
override this.MoveToAttribute : string * string -> bool
Public Overrides Function MoveToAttribute (localName As String, namespaceURI As String) As Boolean

Parametry

localName
String

Nazwa lokalna atrybutu.The local name of the attribute.

namespaceURI
String

Identyfikator URI przestrzeni nazw atrybutu.The namespace URI of the attribute.

Zwraca

Boolean

true, jeśli atrybut zostanie znaleziony; w przeciwnym razie false.true if the attribute is found; otherwise, false. Jeśli false, pozycja czytnika nie zmienia się.If false, the position of the reader does not change.

Uwagi

Uwaga

Klasa XmlValidatingReader jest przestarzała w .NET Framework 2.0.NET Framework 2.0.The XmlValidatingReader class is obsolete in .NET Framework 2.0.NET Framework 2.0. Można utworzyć sprawdzanie poprawności wystąpienia XmlReader przy użyciu klasy XmlReaderSettings i metody Create.You can create a validating XmlReader instance by using the XmlReaderSettings class and the Create method. Aby uzyskać więcej informacji, zobacz sekcję uwagi na stronie odniesienia XmlReader.For more information, see the Remarks section of the XmlReader reference page.

Po wywołaniu tej metody właściwości Name, NamespaceURIi Prefix odzwierciedlają właściwości tego atrybutu.After calling this method, the Name, NamespaceURI, and Prefix properties reflect the properties of that attribute.

Zobacz też

Dotyczy