XmlNodeReader.ReadAttributeValue Methode

Definitie

Parseert de kenmerkwaarde in een of meer Text, EntityReferenceof EndEntity knooppunten.

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

Retouren

true als er knooppunten zijn die moeten worden geretourneerd.

false als de lezer niet is geplaatst op een kenmerkknooppunt wanneer de eerste aanroep wordt uitgevoerd of als alle kenmerkwaarden zijn gelezen.

Een leeg kenmerk, zoals, misc=""retourneert true met één knooppunt met de waarde String.Empty.

Voorbeelden

In het volgende voorbeeld wordt een kenmerk met tekst- en entiteitsreferentieknooppunten gelezen.

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

Opmerkingen

Note

Als u wilt profiteren van nieuwere functies, is het raadzaam om exemplaren te maken XmlReader met behulp van de XmlReaderSettings klasse en de Create methode. Zie de sectie Opmerkingen op de XmlReader referentiepagina voor meer informatie.

Gebruik deze methode na het aanroepen MoveToAttribute om de tekst- of entiteitsreferentieknooppunten te lezen waaruit de kenmerkwaarde bestaat. De Depth knooppunten van de kenmerkwaarde zijn één plus de diepte van het kenmerkknooppunt. Het wordt verhoogd en afgenomen door één wanneer u in en uit algemene entiteitsverwijzingen stapt.

Van toepassing op