Extensions.Attributes Methode

Definition

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

Überlädt

Name Beschreibung
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. In der Auflistung sind nur Elemente enthalten, die über einen übereinstimmenden XName verfügen.

Hinweise

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

Diese Methode verwendet verzögerte Ausführung.

Attributes(IEnumerable<XElement>)

Quelle:
Extensions.cs
Quelle:
Extensions.cs
Quelle:
Extensions.cs
Quelle:
Extensions.cs
Quelle:
Extensions.cs

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>

Eine IEnumerable<T> davon XElement , die die Quellauflistung enthält.

Gibt zurück

Ein Element IEnumerable<T> , das XAttribute die Attribute jedes Elements in der Quellauflistung enthält.

Beispiele

Im folgenden Beispiel wird eine Auflistung von Elementen abgerufen und anschließend eine Auflistung aller Attribute aller Elemente in der Auflistung abgerufen. Beachten Sie, dass die resultierende Auflistung nur die Attribute der Child1 Elemente und Child2 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"

Nachfolgend sehen Sie das gleiche Beispiel, aber in diesem Fall befindet sich der XML-Code 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)

Quelle:
Extensions.cs
Quelle:
Extensions.cs
Quelle:
Extensions.cs
Quelle:
Extensions.cs
Quelle:
Extensions.cs

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

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>

Eine IEnumerable<T> davon XElement , die die Quellauflistung enthält.

name
XName

Die XName Übereinstimmung.

Gibt zurück

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

Beispiele

Im folgenden Beispiel wird eine Auflistung von Elementen abgerufen, die in diesem Fall die Child1 Elemente und Child2 Elemente 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: