Extensions.Attributes Extensions.Attributes Extensions.Attributes Extensions.Attributes Method

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>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) 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) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) 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

Los usuarios de Visual Basic pueden utilizar el eje de atributo integrado para recuperar los atributos con un nombre específico 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>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) 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

El ejemplo siguiente recupera una colección de elementos y, a continuación, 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 la Child1 y Child2 elementos y no los atributos de la Root elemento.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 es el mismo ejemplo, pero en este caso es el código XML 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, consulte trabajar con espacios de nombres XML.For more information, see Working with XML Namespaces. Tenga en cuenta que el atributo de espacio de nombres está incluido 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 algunos otro XML las interfaces de programación, en LINQ to XMLLINQ to XML, espacios de nombres se exponen como atributos.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Aunque los usuarios de Visual Basic pueden usar el eje de atributo integrado para recuperar los atributos con un nombre especificado de una colección de elementos, no hay ningún eje integrado de Visual Basic 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) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) 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 XName 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 se incluye en este caso el Child1 y Child2 elementos.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 de 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 algunos otro XML las interfaces de programación, en LINQ to XMLLINQ to XML, espacios de nombres se exponen 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