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

Definice

Vrátí kolekci atributů každého prvku ve zdrojové kolekci.Returns a collection of the attributes of every element in the source collection.

Přetížení

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

Vrátí kolekci atributů každého prvku ve zdrojové kolekci.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)

Vrátí filtrovanou kolekci atributů každého prvku ve zdrojové kolekci.Returns a filtered collection of the attributes of every element in the source collection. Do kolekce jsou zahrnuty pouze prvky XName , které mají odpovídající spárování.Only elements that have a matching XName are included in the collection.

Poznámky

Visual Basic uživatelé mohou použít integrovanou osu atributů k načtení atributů s určitým názvem z kolekce prvků.Visual Basic users can use the integrated attribute axis to retrieve attributes with a particular name from a collection of elements.

Tato metoda používá odložené provádění.This method uses deferred execution.

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

Vrátí kolekci atributů každého prvku ve zdrojové kolekci.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)

Parametry

source
IEnumerable<XElement>

IEnumerable<T> ObsahujícíXElement zdrojovou kolekci.An IEnumerable<T> of XElement that contains the source collection.

Návraty

IEnumerable<T> ObsahujícíatributykaždéhoXAttribute prvku ve zdrojové kolekci.An IEnumerable<T> of XAttribute that contains the attributes of every element in the source collection.

Příklady

Následující příklad načte kolekci prvků a potom načte kolekci všech atributů všech prvků v kolekci.The following example retrieves a collection of elements, and then retrieves a collection of all attributes of all elements in the collection. Všimněte si, že výsledná kolekce obsahuje pouze atributy Child1 prvků a Child2 a Root nikoli atributy elementu.Note that the resulting collection includes only the attributes of the Child1 and Child2 elements, and not the attributes of the Root element.

Všimněte si, že tato metoda vrací atribut namespace.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  

Tento příklad vytvoří následující výstup: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"  

Následuje stejný příklad, ale v tomto případě je XML v oboru názvů.The following is the same example, but in this case the XML is in a namespace. Další informace naleznete v tématu práce s obory názvů XML.For more information, see Working with XML Namespaces. Všimněte si, že atribut namespace je zahrnut do vrácené kolekce.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  

Tento příklad vytvoří následující výstup: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"  

Poznámky

Všimněte si, že na rozdíl od některých jiných programovacích Technologie LINQ to XMLLINQ to XMLrozhraní XML v jsou obory názvů na povrchu jako atributy.Note that unlike some other XML programming interfaces, in Technologie LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

I když Visual Basic uživatelé mohou použít integrovanou osu atributů k načtení atributů se zadaným názvem z kolekce prvků, není k dispozici žádná integrovaná Visual Basic osa pro načtení všech atributů všech prvků v kolekci.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.

Tato metoda používá odložené provádění.This method uses deferred execution.

Viz také

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

Vrátí filtrovanou kolekci atributů každého prvku ve zdrojové kolekci.Returns a filtered collection of the attributes of every element in the source collection. Do kolekce jsou zahrnuty pouze prvky XName , které mají odpovídající spárování.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)

Parametry

source
IEnumerable<XElement>

IEnumerable<T> ObsahujícíXElement zdrojovou kolekci.An IEnumerable<T> of XElement that contains the source collection.

name
XName XName XName XName

Tak XName , aby odpovídal.The XName to match.

Návraty

IEnumerable<T> ObsahujícífiltrovanoukolekciatributůkaždéhoXAttribute prvku ve zdrojové kolekci.An IEnumerable<T> of XAttribute that contains a filtered collection of the attributes of every element in the source collection. Do kolekce jsou zahrnuty pouze prvky XName , které mají odpovídající spárování.Only elements that have a matching XName are included in the collection.

Příklady

Následující příklad načte kolekci prvků, což v tomto případě obsahuje Child1 prvky a. Child2The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. Pak načte všechny atributy této podřízené kolekce s názvem 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  

Tento příklad vytvoří následující výstup:This example produces the following output:

Att1="content3"  
Att1="content5"  

Poznámky

Všimněte si, že na rozdíl od některých jiných programovacích Technologie LINQ to XMLLINQ to XMLrozhraní XML v jsou obory názvů na povrchu jako atributy.Note that unlike some other XML programming interfaces, in Technologie LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Tato metoda používá odložené provádění.This method uses deferred execution.

Viz také

Platí pro