Поделиться через


XElement.Attributes Метод

Определение

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

Перегрузки

Attributes()

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

Attributes(XName)

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

Комментарии

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

Attributes()

Исходный код:
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

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

Комментарии

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

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

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

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