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

Definição

Retorna uma coleção de atributos de cada elemento na coleção de origem.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>)

Retorna uma coleção de atributos de cada elemento na coleção de origem.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)

Retorna uma coleção filtrada dos atributos de cada elemento na coleção de origem.Returns a filtered collection of the attributes of every element in the source collection. Somente os elementos que têm um XName correspondente são incluídos na coleção.Only elements that have a matching XName are included in the collection.

Comentários

Usuários do Visual Basic podem usar o eixo de atributo integrado para recuperar os atributos com um nome específico de uma coleção 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 utiliza execução adiada.This method uses deferred execution.

Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>)

Retorna uma coleção de atributos de cada elemento na coleção de origem.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>

Um IEnumerable<T> do XElement que contém a coleção de origem.An IEnumerable<T> of XElement that contains the source collection.

Retornos

Um IEnumerable<T> do XAttribute que contém os atributos de cada elemento da coleção de origem.An IEnumerable<T> of XAttribute that contains the attributes of every element in the source collection.

Exemplos

O exemplo a seguir recupera uma coleção de elementos e, em seguida, recupera uma coleção de todos os atributos de todos os elementos na coleção.The following example retrieves a collection of elements, and then retrieves a collection of all attributes of all elements in the collection. Observe que a coleção resultante inclui somente os atributos do Child1 e Child2 elementos e não os atributos do 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.

Observe que o atributo de namespace é retornado por esse método.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 exemplo gera a seguinte saída: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"  

Este é o mesmo exemplo, mas nesse caso, o XML está em um namespace.The following is the same example, but in this case the XML is in a namespace. Para obter mais informações, consulte trabalhando com Namespaces XML.For more information, see Working with XML Namespaces. Observe que o atributo de namespace é incluído na coleção retornada.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 exemplo gera a seguinte saída: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"  

Comentários

Observe que ao contrário de alguns outros XML interfaces de programação, em LINQ to XMLLINQ to XML, namespaces são apresentados como atributos.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Embora os usuários do Visual Basic podem usar o eixo de atributo integrado para recuperar os atributos com um nome especificado de uma coleção de elementos, não há nenhum eixo integrado do Visual Basic para recuperar todos os atributos de todos os elementos em uma coleção.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 utiliza execução adiada.This method uses deferred execution.

Veja também

Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName)

Retorna uma coleção filtrada dos atributos de cada elemento na coleção de origem.Returns a filtered collection of the attributes of every element in the source collection. Somente os elementos que têm um XName correspondente são incluídos na coleção.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>

Um IEnumerable<T> do XElement que contém a coleção de origem.An IEnumerable<T> of XElement that contains the source collection.

name
XName XName XName XName

O XName correspondente.The XName to match.

Retornos

Um IEnumerable<T> de XAttribute que contém uma coleção filtrada dos atributos de cada elemento na coleção de origem.An IEnumerable<T> of XAttribute that contains a filtered collection of the attributes of every element in the source collection. Somente os elementos que têm um XName correspondente são incluídos na coleção.Only elements that have a matching XName are included in the collection.

Exemplos

O exemplo a seguir recupera uma coleção de elementos, que nesse caso, inclui o Child1 e Child2 elementos.The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. Ele então recupera todos os atributos da coleção filho com um nome 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 exemplo gera a seguinte saída:This example produces the following output:

Att1="content3"  
Att1="content5"  

Comentários

Observe que ao contrário de alguns outros XML interfaces de programação, em LINQ to XMLLINQ to XML, namespaces são apresentados como atributos.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Este método utiliza execução adiada.This method uses deferred execution.

Veja também

Aplica-se a