Partager via


XmlNodeReader.ReadAttributeValue Méthode

Définition

Analyse la valeur d’attribut en un ou plusieurs TextEntityReferencenœuds.EndEntity

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

Retours

true s’il existe des nœuds à retourner.

false si le lecteur n’est pas positionné sur un nœud d’attribut lorsque l’appel initial est effectué ou si toutes les valeurs d’attribut ont été lues.

Un attribut vide, tel que, misc=""retourne true avec un nœud unique avec une valeur String.Empty.

Exemples

L’exemple suivant lit un attribut avec des nœuds de référence de texte et d’entité.

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

Remarques

Note

Pour tirer parti des fonctionnalités plus récentes, la pratique recommandée consiste à créer XmlReader des instances à l’aide de la XmlReaderSettings classe et de la Create méthode. Pour plus d’informations, consultez la section Remarques dans la XmlReader page de référence.

Utilisez cette méthode après avoir appelé MoveToAttribute pour lire les nœuds de référence de texte ou d’entité qui composent la valeur d’attribut. Les Depth nœuds de valeur d’attribut sont un nœud plus la profondeur du nœud d’attribut ; il incrémente et décrémente par un lorsque vous effectuez un pas à pas dans et hors des références d’entité générales.

S’applique à