XElement.Attributes Метод

Определение

Возвращает коллекцию атрибутов этого элемента.

Перегрузки

Имя Описание
Attributes()

Возвращает коллекцию атрибутов этого элемента.

Attributes(XName)

Возвращает отфильтрованную коллекцию атрибутов этого элемента. В коллекцию XName включены только атрибуты, имеющие сопоставление.

Комментарии

Этот метод использует отложенное выполнение.

Attributes()

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Возвращает коллекцию атрибутов этого элемента.

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)

Возвращаемое значение

IEnumerable<T> Число XAttribute атрибутов этого элемента.

Примеры

В следующем примере создается элемент с двумя атрибутами. Затем он использует это для получения всех атрибутов элемента.

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

В примере получается следующий вывод.

Att1="content1"
Att2="content2"

Ниже приведен тот же пример, но в этом случае XML находится в пространстве имен. Дополнительные сведения см. в статье "Работа с пространствами имен 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

В примере получается следующий вывод.

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

Комментарии

Атрибуты в возвращаемой коллекции находятся в том порядке, в который они были добавлены в элемент. Если дерево XML было проанализировано из XML, атрибуты возвращаются в порядке документа.

Этот метод использует отложенное выполнение.

См. также раздел

Применяется к

Attributes(XName)

Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs
Исходный код:
XElement.cs

Возвращает отфильтрованную коллекцию атрибутов этого элемента. В коллекцию 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)

Параметры

name
XName

Совпадение XName .

Возвращаемое значение

IEnumerable<T> Объект, XAttribute содержащий атрибуты этого элемента. В коллекцию XName включены только атрибуты, имеющие сопоставление.

Примеры

В следующем примере используется этот параметр.

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

В примере получается следующий вывод.

Att1="content1"

Ниже приведен тот же пример, но в этом случае XML находится в пространстве имен. Дополнительные сведения см. в статье "Работа с пространствами имен 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

В примере получается следующий вывод.

aw:Att1="content1"

Комментарии

Имена атрибутов должны быть уникальными в элементе. Поэтому это может возвращать либо коллекцию, содержащую только один атрибут, либо возвращать пустую коллекцию.

Этот метод использует отложенное выполнение.

См. также раздел

Применяется к