Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

Lectura de atributos

La clase XmlReader incluye varios métodos y propiedades para leer atributos. Los atributos se suelen encontrar en elementos. Sin embargo, también se permiten en nodos de tipos de documentos y declaraciones XML.

Cuando están situados en un nodo de elementos, los métodos MoveToAttribute le permiten recorrer la lista de atributos del elemento. Después de llamar a MoveToAttribute, las propiedades del nodo (por ejemplo, Name, NamespaceURI, Prefix, etc.) reflejan las propiedades de ese atributo y no el elemento contenedor al que pertenecen.

En la siguiente tabla se describen los métodos y las propiedades que están específicamente diseñadas para procesar atributos.

Nombre del miembro

Descripción

AttributeCount

Obtiene el número de atributos en el elemento.

GetAttribute

Obtiene el valor del atributo.

HasAttributes

Obtiene un valor que indica si el nodo actual tiene algún atributo.

IsDefault

Obtiene un valor que indica si el nodo actual es un atributo que se ha generado a partir del valor predeterminado definido en la DTD o esquema.

Item

Obtiene el valor del atributo especificado.

MoveToAttribute

Se mueve al atributo especificado.

MoveToElement

Se mueve al elemento que es propietario del nodo de atributo actual.

MoveToFirstAttribute

Se mueve al primer atributo.

MoveToNextAttribute

Se mueve al siguiente atributo.

ReadAttributeValue

Analiza el valor del atributo en uno o varios nodos Text, EntityReference o EndEntity.

También se puede utilizar cualquiera de las propiedades y los métodos XmlReader generales para procesar atributos. Por ejemplo, después de situar XmlReader en un atributo, las propiedades Name y Value reflejan los valores del atributo. También puede utilizar cualquiera de los métodos Read de contenido para obtener el valor del atributo.

La situación más común es el procesamiento de atributos en nodos de elementos. Los atributos también se encuentran en declaraciones XML y declaraciones de tipos de documentos.

Nota Nota

Cuando XmlReader está situado en un nodo de instrucción de procesamiento, la propiedad Value devuelve el contenido de texto completo. Los elementos del nodo de instrucción de procesamiento no se tratan como atributos. No se pueden leer con los métodos GetAttribute o MoveToAttribute.

by2bd43b.collapse_all(es-es,VS.110).gifNodo de declaraciones XML

Cuando se sitúe en un nodo de declaraciones XML, la propiedad Value devuelve la información de codificación, independiente y de la versión como una sola cadena. En algunos sistemas de lectura, esta información también se puede proporcionar como atributos.

Nota Nota

Los objetos XmlReader que crea el método Create y las clases XmlTextReader y XmlValidatingReader proporcionan dicha información como atributos.

by2bd43b.collapse_all(es-es,VS.110).gifNodo de tipos de documentos

Cuando XmlReader está situado en un nodo de tipos de documentos, se puede utilizar el método GetAttribute y la propiedad Item para devolver los valores de los literales SYSTEM y PUBLIC. Por ejemplo, al llamar a reader.GetAttribute("PUBLIC"), se devuelve el valor PUBLIC.

En el siguiente ejemplo se leen todos los atributos en un elemento utilizando la propiedad AttributeCount.


// Display all attributes.
if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  for (int i = 0; i < reader.AttributeCount; i++) {
    Console.WriteLine("  {0}", reader[i]);
  }
  // Move the reader back to the element node.
  reader.MoveToElement(); 
}


En el siguiente ejemplo se leen todos los atributos en un elemento utilizando el método MoveToNextAttribute en un bucle While.


if (reader.HasAttributes) {
  Console.WriteLine("Attributes of <" + reader.Name + ">");
  while (reader.MoveToNextAttribute()) {
    Console.WriteLine(" {0}={1}", reader.Name, reader.Value);
  }
  // Move the reader back to the element node.
  reader.MoveToElement();
}


En el siguiente ejemplo se obtiene el valor de un atributo por nombre.


reader.ReadToFollowing("book");
string isbn = reader.GetAttribute("ISBN");
Console.WriteLine("The ISBN value: " + isbn);


Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft