Udostępnij za pośrednictwem


XElement.Attributes Metoda

Definicja

Zwraca kolekcję atrybutów tego elementu.

Przeciążenia

Attributes()

Zwraca kolekcję atrybutów tego elementu.

Attributes(XName)

Zwraca odfiltrowaną kolekcję atrybutów tego elementu. W kolekcji znajdują się tylko atrybuty, które mają dopasowanie XName .

Uwagi

Ta metoda używa odroczonego wykonania.

Attributes()

Zwraca kolekcję atrybutów tego elementu.

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ Attributes();
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes ();
member this.Attributes : unit -> seq<System.Xml.Linq.XAttribute>
Public Function Attributes () As IEnumerable(Of XAttribute)

Zwraca

IEnumerable<XAttribute>

Atrybuty IEnumerable<T> XAttribute tego elementu.

Przykłady

Poniższy przykład tworzy element z dwoma atrybutami. Następnie używa go do pobierania wszystkich atrybutów elementu.

XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "content1"),  
    new XAttribute("Att2", "content2")  
);  
IEnumerable<XAttribute> attList =  
    from at in xmlTree.Attributes()  
    select at;  
foreach (XAttribute att in attList)  
    Console.WriteLine(att);  
Dim xmlTree As XElement = <Root Att1="content1" Att2="content2"/>  

Dim attList As IEnumerable(Of XAttribute) = _  
From at In xmlTree.Attributes() _  
Select at  

For Each att In attList  
    Console.WriteLine(att)  
Next  

Ten przykład generuje następujące wyniki:

Att1="content1"  
Att2="content2"  

Poniżej przedstawiono ten sam przykład, ale w tym przypadku kod XML znajduje się w przestrzeni nazw. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(aw + "Att1", "content1"),  
    new XAttribute(aw + "Att2", "content2"),  
    new XAttribute(XNamespace.Xmlns + "aw", "http://www.adventure-works.com")  
);  
IEnumerable<XAttribute> attList =  
    from at in xmlTree.Attributes()  
    select at;  
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 aw:Att1="content1" aw:Att2="content2"/>  

        Dim attList As IEnumerable(Of XAttribute) = _  
            From at In xmlTree.Attributes() _  
            Select at  

        For Each att In attList  
            Console.WriteLine(att)  
        Next  
    End Sub  
End Module  

Ten przykład generuje następujące wyniki:

aw:Att1="content1"  
aw:Att2="content2"  
xmlns:aw="http://www.adventure-works.com"  

Uwagi

Atrybuty w zwróconej kolekcji są w kolejności, w której zostały dodane do elementu. Jeśli drzewo XML zostało przeanalizowane z kodu XML, atrybuty są zwracane w kolejności dokumentu.

Ta metoda używa odroczonego wykonania.

Zobacz też

Dotyczy

Attributes(XName)

Zwraca odfiltrowaną kolekcję atrybutów tego elementu. W kolekcji znajdują się tylko atrybuty, które mają dopasowanie XName .

public:
 System::Collections::Generic::IEnumerable<System::Xml::Linq::XAttribute ^> ^ Attributes(System::Xml::Linq::XName ^ name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes (System.Xml.Linq.XName name);
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes (System.Xml.Linq.XName? name);
member this.Attributes : System.Xml.Linq.XName -> seq<System.Xml.Linq.XAttribute>
Public Function Attributes (name As XName) As IEnumerable(Of XAttribute)

Parametry

name
XName

Element XName do dopasowania.

Zwraca

IEnumerable<XAttribute>

XAttribute Element IEnumerable<T> zawierający atrybuty tego elementu. W kolekcji znajdują się tylko atrybuty, które mają dopasowanie XName .

Przykłady

W poniższym przykładzie użyto tej metody .

XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "content1"),  
    new XAttribute("Att2", "content2")  
);  
IEnumerable<XAttribute> attList = xmlTree.Attributes("Att1");  
foreach (XAttribute att in attList)  
    Console.WriteLine(att);  
Dim xmlTree As XElement = <Root Att1="content1" Att2="content2"/>  

Dim attList As IEnumerable(Of XAttribute) = xmlTree.Attributes("Att1")  

For Each att In attList  
    Console.WriteLine(att)  
Next  

Ten przykład generuje następujące wyniki:

Att1="content1"  

Poniżej przedstawiono ten sam przykład, ale w tym przypadku kod XML znajduje się w przestrzeni nazw. Aby uzyskać więcej informacji, zobacz Praca z przestrzeniami nazw XML.

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")  
);  
IEnumerable<XAttribute> attList = xmlTree.Attributes(aw + "Att1");  
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 aw:Att1="content1" aw:Att2="content2"/>  

        Dim attList As IEnumerable(Of XAttribute) = xmlTree.Attributes(GetXmlNamespace(aw) + "Att1")  

        For Each att In attList  
            Console.WriteLine(att)  
        Next  
    End Sub  
End Module  

Ten przykład generuje następujące wyniki:

aw:Att1="content1"  

Uwagi

Nazwy atrybutów muszą być unikatowe w obrębie elementu. W związku z tym może to zwrócić kolekcję zawierającą tylko jeden atrybut lub zwrócić pustą kolekcję.

Ta metoda używa odroczonego wykonania.

Zobacz też

Dotyczy