XmlNodeReader.ReadAttributeValue Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.