Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Después de crear un árbol XML o cargar un documento XML en un árbol XML, puede consultarlo para buscar elementos y atributos y recuperar sus valores. Las colecciones se recuperan mediante los métodos de eje, también denominados ejes. Algunos de los ejes son métodos de las clases XElement y XDocument, que devuelven colecciones IEnumerable<T>. Algunos de los ejes son métodos de extensión en la Extensions clase . Los ejes implementados como métodos de extensión trabajan con colecciones y devuelven colecciones.
Como se describe en información general de la clase XElement, un XElement objeto representa un nodo de elemento único. El contenido de un elemento puede ser complejo (a veces denominado contenido estructurado) o puede ser un elemento simple. Un elemento simple puede estar vacío o puede contener un valor. Si el nodo contiene contenido estructurado, puede usar los distintos métodos de eje para recuperar enumeraciones de elementos descendientes. Los métodos de eje más usados son Elements y Descendants.
Además de los métodos de eje, que devuelven colecciones, hay dos métodos más que se suelen usar en las consultas LINQ to XML. El Element método devuelve un único XElement. El Attribute método devuelve un único XAttribute.
Para muchos propósitos, las consultas LINQ proporcionan la manera más eficaz de examinar un árbol, extraer datos de él y transformarlos. Las consultas LINQ trabajan con objetos que implementan IEnumerable<T>, y los ejes de LINQ to XML devuelven IEnumerable<T> de colecciones XElement, y IEnumerable<T> de colecciones XAttribute. Necesita estas colecciones para realizar las consultas.
Además de los métodos de eje que recuperan colecciones de elementos y atributos, hay métodos de eje que permiten recorrer en iteración el árbol con gran detalle. Por ejemplo, en lugar de trabajar con elementos y atributos, puede trabajar con los nodos del árbol. Los nodos son un nivel más fino de granularidad que los elementos y atributos. Al trabajar con nodos, puede examinar comentarios XML, nodos de texto, instrucciones de procesamiento, etc. Esta funcionalidad es importante, por ejemplo, para alguien que escribe un procesador de texto y quiere guardar documentos como XML. Sin embargo, la mayoría de los programadores XML se ocupan principalmente de elementos, atributos y sus valores.
Métodos para recuperar una colección de elementos
A continuación encontrará un resumen de los métodos de la clase XElement (o de sus clases base) a los que podrá pasar un XElement para devolver una colección de elementos.
Método | Descripción |
---|---|
XNode.Ancestors | Devuelve un IEnumerable<T> de XElement de los antecesores de este elemento. Una sobrecarga devuelve un IEnumerable<T> de XElement de los antecesores que tengan el XName especificado. |
XContainer.Descendants | Devuelve un IEnumerable<T> de XElement de los descendientes de este elemento. Una sobrecarga devuelve un IEnumerable<T> de XElement de los descendientes que tengan el XName especificado. |
XContainer.Elements | Devuelve un IEnumerable<T> de XElement de los elementos secundarios dependientes de este elemento. Una sobrecarga devuelve un IEnumerable<T> de XElement de los elementos secundarios que tengan el XName especificado. |
XNode.ElementsAfterSelf | Devuelve un IEnumerable<T> de XElement de los elementos que se encuentran después de este elemento. Una sobrecarga devuelve un IEnumerable<T> de XElement de los elementos que se encuentren después de este elemento y que tengan el XName especificado. |
XNode.ElementsBeforeSelf | Devuelve un IEnumerable<T> de XElement de los elementos que se encuentran antes que este elemento. Una sobrecarga devuelve un IEnumerable<T> de XElement de los elementos que se encuentren antes que este elemento y que tengan el XName especificado. |
XElement.AncestorsAndSelf | Devuelve un IEnumerable<T> de XElement de este elemento y de sus antecesores. Una sobrecarga devuelve un IEnumerable<T> de XElement de los elementos que tengan el XName especificado. |
XElement.DescendantsAndSelf | Devuelve un IEnumerable<T> de XElement de este elemento y de sus descendientes. Una sobrecarga devuelve un IEnumerable<T> de XElement de los elementos que tengan el XName especificado. |
Método para recuperar un único elemento
El siguiente método recupera un único elemento secundario a partir del objeto XElement.
Método | Descripción |
---|---|
XContainer.Element | Devuelve el objeto del primer elemento XElement secundario que tenga el XName especificado. |
Método para recuperar una colección de atributos
El método siguiente recupera atributos de un XElement objeto .
Método | Descripción |
---|---|
XElement.Attributes | Devuelve un IEnumerable<T> de XAttribute de todos los atributos. |
Método para recuperar un único atributo
El método siguiente recupera un único atributo de un XElement objeto .
Método | Descripción |
---|---|
XElement.Attribute | Devuelve el XAttribute que tenga el XName especificado. |