XmlNodeReader.ReadAttributeValue Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Analisa o valor do atributo em um ou mais Text, EntityReference, ou EndEntity nós.
public:
override bool ReadAttributeValue();
public override bool ReadAttributeValue();
override this.ReadAttributeValue : unit -> bool
Public Overrides Function ReadAttributeValue () As Boolean
Devoluções
true se houver nós para devolver.
false se o leitor não estiver posicionado num nó de atributo quando a chamada inicial é feita ou se todos os valores do atributo foram lidos.
Um atributo vazio, como misc="", retorna true com um único nó com o valor String.Empty.
Exemplos
O exemplo seguinte lê um atributo com nós de referência de texto e entidade.
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
Observações
Note
Para tirar partido das funcionalidades mais recentes, a prática recomendada é criar XmlReader instâncias usando a XmlReaderSettings classe e o Create método. Para mais informações, consulte a secção de Observações na XmlReader página de referência.
Use este método após chamar MoveToAttribute para ler os nós de referência de texto ou entidade que compõem o valor do atributo. O Depth dos nós do valor do atributo é um mais a profundidade do nó do atributo; ele incrementa e diminui em um ao entrar e sair de referências gerais de entidades.