XmlNodeReader.ReadAttributeValue Yöntem

Tanım

Öznitelik değerini bir veya daha fazla Text, EntityReferenceveya EndEntity düğümde ayrıştırıyor.

public:
 override bool ReadAttributeValue();
public override bool ReadAttributeValue ();
override this.ReadAttributeValue : unit -> bool
Public Overrides Function ReadAttributeValue () As Boolean

Döndürülenler

Boolean

true döndürülecek düğümler varsa.

false okuyucu ilk çağrı yapıldığında veya tüm öznitelik değerleri okunmuşsa bir öznitelik düğümünde konumlandırılmazsa.

misc="" gibi boş bir öznitelik, String.Empty değerine sahip tek bir düğümle birlikte döndürürtrue.

Örnekler

Aşağıdaki örnek, metin ve varlık başvuru düğümlerine sahip bir özniteliği okur.

#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
   XmlNodeReader^ reader = nullptr;
   try
   {
      
      //Create and load an XML document.
      XmlDocument^ doc = gcnew XmlDocument;
      doc->LoadXml( "<!DOCTYPE book [<!ENTITY h 'harcover'>]>"
      "<book genre='novel' misc='sale-item &h; 1987'>"
      "</book>" );
      
      //Create the reader. 
      reader = gcnew XmlNodeReader( doc );
      
      //Read the misc attribute. 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()
  {
    XmlNodeReader reader = null;

    try
    {
       //Create and load an XML document.
       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'harcover'>]>" +
                   "<book genre='novel' misc='sale-item &h; 1987'>" +
                   "</book>");

       //Create the reader.
       reader = new XmlNodeReader(doc);

       //Read the misc attribute. 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 Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
        
        Try
            'Create and load an XML document.
            Dim doc As New XmlDocument()
            doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'harcover'>]>" & _
                        "<book genre='novel' misc='sale-item &h; 1987'>" & _
                        "</book>")
            
            'Create the reader. 
            reader = New XmlNodeReader(doc)
            
            'Read the misc attribute. 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

Açıklamalar

Not

.NET Framework 2.0'da önerilen yöntem, sınıfını XmlReaderSettings ve Create yöntemini kullanarak örnekler oluşturmaktırXmlReader. Bu, .NET Framework sunulan tüm yeni özelliklerden tam olarak yararlanmanızı sağlar. Daha fazla bilgi için başvuru sayfasındaki Açıklamalar bölümüne XmlReader bakın.

Öznitelik değerini oluşturan metin veya varlık başvuru düğümlerini okumak için çağrısından MoveToAttribute sonra bu yöntemi kullanın. Depth Öznitelik değeri düğümlerinin değeri bir artı öznitelik düğümünün derinliğidir; genel varlık başvurularına girip çıktığınızda bir artar ve azalan olur.

Şunlara uygulanır