Extensions.Attributes Método

Definición

Devuelve una colección de los atributos de todos los elementos de la colección de origen.Returns a collection of the attributes of every element in the source collection.

Sobrecargas

Attributes(IEnumerable<XElement>)

Devuelve una colección de los atributos de todos los elementos de la colección de origen.Returns a collection of the attributes of every element in the source collection.

Attributes(IEnumerable<XElement>, XName)

Devuelve una colección filtrada de los atributos de todos los elementos de la colección de origen.Returns a filtered collection of the attributes of every element in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

Comentarios

Visual Basic los usuarios pueden utilizar el eje de atributo integrado para recuperar los atributos con un nombre determinado de una colección de elementos.Visual Basic users can use the integrated attribute axis to retrieve attributes with a particular name from a collection of elements.

Este método usa la ejecución diferida.This method uses deferred execution.

Attributes(IEnumerable<XElement>)

Devuelve una colección de los atributos de todos los elementos de la colección de origen.Returns a collection of the attributes of every element in the source collection.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ Attributes(System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ source);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes (this System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> source);
static member Attributes : seq<System.Xml.Linq.XElement> -> seq<System.Xml.Linq.XAttribute>
<Extension()>
Public Function Attributes (source As IEnumerable(Of XElement)) As IEnumerable(Of XAttribute)

Parámetros

source
IEnumerable<XElement>

Interfaz IEnumerable<T> de XElement que contiene la colección de origen.An IEnumerable<T> of XElement that contains the source collection.

Devoluciones

Interfaz IEnumerable<T> de XAttribute que contiene los atributos de todos los elementos de la colección de origen.An IEnumerable<T> of XAttribute that contains the attributes of every element in the source collection.

Ejemplos

En el ejemplo siguiente se recupera una colección de elementos y, a continuación, se recupera una colección de todos los atributos de todos los elementos de la colección.The following example retrieves a collection of elements, and then retrieves a collection of all attributes of all elements in the collection. Tenga en cuenta que la colección resultante incluye solo los atributos de los elementos Child1 y Child2, y no los atributos del elemento Root.Note that the resulting collection includes only the attributes of the Child1 and Child2 elements, and not the attributes of the Root element.

Tenga en cuenta que este método devuelve el atributo de espacio de nombres.Note that the namespace attribute is returned by this method.

XElement xmlTree = new XElement("Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XAttribute("Att1", "content1"),  
    new XAttribute("Att2", "content2"),  
    new XElement("Child1",  
        new XAttribute("Att1", "content3"),  
        new XAttribute("Att2", "content4")  
    ),  
    new XElement("Child2",  
        new XAttribute("Att1", "content5"),  
        new XAttribute("Att2", "content6")  
    )  
);  
Console.WriteLine(xmlTree);  
Console.WriteLine("-----");  
  
IEnumerable<XAttribute> attList =  
    from att in xmlTree.DescendantsAndSelf().Attributes()  
    select att;  
  
foreach (XAttribute att in attList)  
    Console.WriteLine(att);  
Dim xmlTree As XElement = _  
    <Root xmlns:aw="http://www.adventure-works.com" Att1="content1" Att2="content2">  
        <Child1 Att1="content3" Att2="content4"/>  
        <Child2 Att1="content5" Att2="content6"/>  
    </Root>  
  
Dim attList = _  
    From att In xmlTree.DescendantsAndSelf.Attributes _  
    Select att  
  
Console.WriteLine(xmlTree)  
Console.WriteLine("-----")  
  
For Each att As XAttribute In attList  
    Console.WriteLine(att)  
Next  

Este ejemplo produce el siguiente resultado:This example produces the following output:

<Root xmlns:aw="http://www.adventure-works.com" Att1="content1" Att2="content2">  
  <Child1 Att1="content3" Att2="content4" />  
  <Child2 Att1="content5" Att2="content6" />  
</Root>  
-----  
xmlns:aw="http://www.adventure-works.com"  
Att1="content1"  
Att2="content2"  
Att1="content3"  
Att2="content4"  
Att1="content5"  
Att2="content6"  

El siguiente ejemplo es el mismo, pero en este caso el XML está en un espacio de nombres.The following is the same example, but in this case the XML is in a namespace. Para obtener más información, vea trabajar con espacios de nombres XML.For more information, see Working with XML Namespaces. Tenga en cuenta que el atributo de espacio de nombres se incluye en la colección devuelta.Note that the namespace attribute is included in the returned collection.

XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com"),  
    new XAttribute(aw + "Att1", "content1"),  
    new XAttribute(aw + "Att2", "content2"),  
    new XElement(aw + "Child1",  
        new XAttribute(aw + "Att1", "content3"),  
        new XAttribute(aw + "Att2", "content4")  
    ),  
    new XElement(aw + "Child2",  
        new XAttribute(aw + "Att1", "content5"),  
        new XAttribute(aw + "Att2", "content6")  
    )  
);  
Console.WriteLine(xmlTree);  
Console.WriteLine("-----");  
  
IEnumerable<XAttribute> attList =  
    from att in xmlTree.DescendantsAndSelf().Attributes()  
    select att;  
  
foreach (XAttribute att in attList)  
    Console.WriteLine(att);  
Imports <xmlns:aw="http://www.adventure-works.com">  
  
Module Module1  
    Sub Main()  
        Dim xmlTree As XElement = _  
            <aw:Root xmlns:aw="http://www.adventure-works.com" aw:Att1="content1" aw:Att2="content2">  
                <aw:Child1 aw:Att1="content3" aw:Att2="content4"/>  
                <aw:Child2 aw:Att1="content5" aw:Att2="content6"/>  
            </aw:Root>  
  
        Dim attList = _  
            From att In xmlTree.DescendantsAndSelf.Attributes _  
            Select att  
  
        Console.WriteLine(xmlTree)  
        Console.WriteLine("-----")  
  
        For Each att As XAttribute In attList  
            Console.WriteLine(att)  
        Next  
    End Sub  
End Module  

Este ejemplo produce el siguiente resultado:This example produces the following output:

<aw:Root xmlns:aw="http://www.adventure-works.com" aw:Att1="content1" aw:Att2="content2">  
  <aw:Child1 aw:Att1="content3" aw:Att2="content4" />  
  <aw:Child2 aw:Att1="content5" aw:Att2="content6" />  
</aw:Root>  
-----  
xmlns:aw="http://www.adventure-works.com"  
aw:Att1="content1"  
aw:Att2="content2"  
aw:Att1="content3"  
aw:Att2="content4"  
aw:Att1="content5"  
aw:Att2="content6"  

Comentarios

Tenga en cuenta que, a diferencia de otras interfaces de programación XML, en LINQ to XMLLINQ to XML, los espacios de nombres se muestran como atributos.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Aunque Visual Basic usuarios pueden utilizar el eje de atributo integrado para recuperar los atributos con un nombre especificado de una colección de elementos, no hay ningún eje de Visual Basic integrado para recuperar todos los atributos de todos los elementos de una colección.Although Visual Basic users can use the integrated attribute axis to retrieve attributes with a specified name from a collection of elements, there is no integrated Visual Basic axis to retrieve all attributes of all elements in a collection.

Este método usa la ejecución diferida.This method uses deferred execution.

Consulte también:

Attributes(IEnumerable<XElement>, XName)

Devuelve una colección filtrada de los atributos de todos los elementos de la colección de origen.Returns a filtered collection of the attributes of every element in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

public:
[System::Runtime::CompilerServices::Extension]
 static System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ Attributes(System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ source, System::Xml::Linq::XName ^ name);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes (this System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> source, System.Xml.Linq.XName name);
static member Attributes : seq<System.Xml.Linq.XElement> * System.Xml.Linq.XName -> seq<System.Xml.Linq.XAttribute>
<Extension()>
Public Function Attributes (source As IEnumerable(Of XElement), name As XName) As IEnumerable(Of XAttribute)

Parámetros

source
IEnumerable<XElement>

Interfaz IEnumerable<T> de XElement que contiene la colección de origen.An IEnumerable<T> of XElement that contains the source collection.

name
XName

XName que se va a comparar.The XName to match.

Devoluciones

Interfaz IEnumerable<T> de XAttribute que contiene una colección filtrada de los atributos de todos los elementos de la colección de origen.An IEnumerable<T> of XAttribute that contains a filtered collection of the attributes of every element in the source collection. En la colección sólo se incluyen los elementos que tienen un objeto XName coincidente.Only elements that have a matching XName are included in the collection.

Ejemplos

En el ejemplo siguiente se recupera una colección de elementos, que en este caso incluye los elementos Child1 y Child2.The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. A continuación, recupera todos los atributos de esa colección secundaria con el nombre Att1.It then retrieves all attributes of that child collection with a name of Att1.

XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "content1"),  
    new XAttribute("Att2", "content2"),  
    new XElement("Child1",  
        new XAttribute("Att1", "content3"),  
        new XAttribute("Att2", "content4")  
    ),  
    new XElement("Child2",  
        new XAttribute("Att1", "content5"),  
        new XAttribute("Att2", "content6")  
    )  
);  
  
IEnumerable<XAttribute> attList = from att in xmlTree.Elements().Attributes("Att1")  
                                  select att;  
  
foreach (XAttribute att in attList)  
    Console.WriteLine(att);  
Dim xmlTree As XElement = _  
    <Root Att1="content1" Att2="content2">  
        <Child1 Att1="content3" Att2="content4">  
        </Child1>  
        <Child2 Att1="content5" Att2="content6">  
        </Child2>  
    </Root>  
  
Dim attList = From att In xmlTree.Elements.Attributes("Att1") _  
                          Select att  
  
For Each att As XAttribute In attList  
    Console.WriteLine(att)  
Next  
  

Este ejemplo produce el siguiente resultado:This example produces the following output:

Att1="content3"  
Att1="content5"  

Comentarios

Tenga en cuenta que, a diferencia de otras interfaces de programación XML, en LINQ to XMLLINQ to XML, los espacios de nombres se muestran como atributos.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Este método usa la ejecución diferida.This method uses deferred execution.

Consulte también:

Se aplica a