Extensions.Attributes Methode

Definition

Gibt eine Auflistung der Attribute jedes Elements in der Quellauflistung zurück.

Überlädt

Attributes(IEnumerable<XElement>)

Gibt eine Auflistung der Attribute jedes Elements in der Quellauflistung zurück.

Attributes(IEnumerable<XElement>, XName)

Gibt eine gefilterte Auflistung der Attribute jedes Elements in der Quellauflistung zurück. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.

Hinweise

Visual Basic-Benutzer können die integrierte Attributachse verwenden, um Attribute mit einem bestimmten Namen aus einer Auflistung von Elementen abzurufen.

Diese Methode verwendet verzögerte Ausführung.

Attributes(IEnumerable<XElement>)

Gibt eine Auflistung der Attribute jedes Elements in der Quellauflistung zurück.

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);
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)

Parameter

source
IEnumerable<XElement>

Ein IEnumerable<T> vom Typ XElement, das die Quellauflistung enthält.

Gibt zurück

Ein IEnumerable<T> vom Typ XAttribute, das die Attribute der einzelnen Elemente in der Quellauflistung enthält.

Beispiele

Das folgende Beispiel ruft eine Auflistung von Elementen ab und ruft dann eine Auflistung aller Attribute aller Elemente in der Auflistung ab. Beachten Sie, dass die resultierende Auflistung nur die Attribute der Child1 Elemente und Child2 und und nicht die Attribute des Root Elements enthält.

Beachten Sie, dass das Namespace-Attribut von dieser Methode zurückgegeben wird.

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  

Dieses Beispiel erzeugt die folgende Ausgabe:

<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"  

Im Folgenden sehen Sie das gleiche Beispiel, aber in diesem Fall befindet sich die XML in einem Namespace. Weitere Informationen finden Sie unter Arbeiten mit XML-Namespaces. Beachten Sie, dass das Namespace-Attribut in der zurückgegebenen Auflistung enthalten ist.

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  

Dieses Beispiel erzeugt die folgende Ausgabe:

<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"  

Hinweise

Beachten Sie, dass Namespaces im Gegensatz zu einigen anderen XML-Programmierschnittstellen in LINQ to XML als Attribute angezeigt werden.

Obwohl Visual Basic-Benutzer die integrierte Attributachse verwenden können, um Attribute mit einem angegebenen Namen aus einer Auflistung von Elementen abzurufen, gibt es keine integrierte Visual Basic-Achse, um alle Attribute aller Elemente in einer Auflistung abzurufen.

Diese Methode verwendet verzögerte Ausführung.

Weitere Informationen

Gilt für:

Attributes(IEnumerable<XElement>, XName)

Gibt eine gefilterte Auflistung der Attribute jedes Elements in der Quellauflistung zurück. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.

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);
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)

Parameter

source
IEnumerable<XElement>

Ein IEnumerable<T> vom Typ XElement, das die Quellauflistung enthält.

name
XName

Der XName, mit dem eine Übereinstimmung gefunden werden soll.

Gibt zurück

Ein IEnumerable<T> vom Typ XAttribute, das eine gefilterte Auflistung der Attribute jedes Elements in der Quellauflistung enthält. Nur Elemente, die über einen übereinstimmenden XName verfügen, sind in der Auflistung enthalten.

Beispiele

Im folgenden Beispiel wird eine Auflistung von Elementen abgerufen, die in diesem Fall die Child1 Elemente und Child2 enthält. Anschließend werden alle Attribute dieser untergeordneten Auflistung mit dem Namen abgerufen 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  

Dieses Beispiel erzeugt die folgende Ausgabe:

Att1="content3"  
Att1="content5"  

Hinweise

Beachten Sie, dass Namespaces im Gegensatz zu einigen anderen XML-Programmierschnittstellen in LINQ to XML als Attribute angezeigt werden.

Diese Methode verwendet verzögerte Ausführung.

Weitere Informationen

Gilt für: