Extensions.Attributes Extensions.Attributes Extensions.Attributes Extensions.Attributes Method

Определение

Возвращает коллекцию атрибутов каждого элемента в исходной коллекции.Returns a collection of the attributes of every element in the source collection.

Перегрузки

Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>)

Возвращает коллекцию атрибутов каждого элемента в исходной коллекции.Returns a collection of the attributes of every element in the source collection.

Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName)

Возвращает отфильтрованную коллекцию атрибутов каждого элемента в исходной коллекции.Returns a filtered collection of the attributes of every element in the source collection. В коллекцию включаются только элементы, соответствующие XName.Only elements that have a matching XName are included in the collection.

Комментарии

Пользователи Visual Basic могут использовать встроенную ось атрибутов для извлечения атрибутов с определенным именем из коллекции элементов.Visual Basic users can use the integrated attribute axis to retrieve attributes with a particular name from a collection of elements.

Этот метод использует отложенное выполнение.This method uses deferred execution.

Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>)

Возвращает коллекцию атрибутов каждого элемента в исходной коллекции.Returns a collection of the attributes of every element in the source collection.

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

Параметры

source
IEnumerable<XElement>

Интерфейс IEnumerable<T> узла XElement, содержащий исходную коллекцию.An IEnumerable<T> of XElement that contains the source collection.

Возвраты

IEnumerable<T> для XAttribute, содержащий атрибуты каждого элемента в исходной коллекции.An IEnumerable<T> of XAttribute that contains the attributes of every element in the source collection.

Примеры

В следующем примере извлекается коллекция элементов и затем возвращает коллекцию всех атрибутов всех элементов в коллекции.The following example retrieves a collection of elements, and then retrieves a collection of all attributes of all elements in the collection. Обратите внимание, что полученная в результате коллекция включает только атрибуты Child1 и Child2 элементов и не к атрибутам Root элемент.Note that the resulting collection includes only the attributes of the Child1 and Child2 elements, and not the attributes of the Root element.

Обратите внимание, что атрибут пространства имен, возвращаемый этим методом.Note that the namespace attribute is returned by this method.

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  

В этом примере получается следующий результат:This example produces the following output:

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

Ниже приведен тот же пример, но в этом случае XML находится в пространстве имен.The following is the same example, but in this case the XML is in a namespace. Дополнительные сведения см. в разделе работа с пространствами имен XML.For more information, see Working with XML Namespaces. Обратите внимание на то, что атрибут пространства имен включен в возвращаемой коллекции.Note that the namespace attribute is included in the returned collection.

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  

В этом примере получается следующий результат:This example produces the following output:

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

Комментарии

Обратите внимание, что в отличие от некоторых других XML программных интерфейсов, в LINQ to XMLLINQ to XML, пространства имен отображаются в виде атрибутов.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Несмотря на то, что пользователи Visual Basic могут использовать встроенную ось атрибутов для извлечения атрибутов с указанным именем из коллекции элементов, нет отсутствует встроенная ось Visual Basic для извлечения всех атрибутов всех элементов в коллекции.Although Visual Basic users can use the integrated attribute axis to retrieve attributes with a specified name from a collection of elements, there is no integrated Visual Basic axis to retrieve all attributes of all elements in a collection.

Этот метод использует отложенное выполнение.This method uses deferred execution.

Дополнительно

Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName)

Возвращает отфильтрованную коллекцию атрибутов каждого элемента в исходной коллекции.Returns a filtered collection of the attributes of every element in the source collection. В коллекцию включаются только элементы, соответствующие XName.Only elements that have a matching XName are included in the collection.

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

Параметры

source
IEnumerable<XElement>

Интерфейс IEnumerable<T> узла XElement, содержащий исходную коллекцию.An IEnumerable<T> of XElement that contains the source collection.

name
XName XName XName XName

XName для соответствия.The XName to match.

Возвраты

IEnumerable<T> для XAttribute, содержащий отфильтрованную коллекцию атрибутов каждого элемента в исходной коллекции.An IEnumerable<T> of XAttribute that contains a filtered collection of the attributes of every element in the source collection. В коллекцию включаются только элементы, соответствующие XName.Only elements that have a matching XName are included in the collection.

Примеры

В следующем примере извлекается коллекция элементов, который в данном случае включает Child1 и Child2 элементы.The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. Затем он извлекает все атрибуты, дочерние коллекции с именем Att1.It then retrieves all attributes of that child collection with a name of 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  

В этом примере получается следующий результат:This example produces the following output:

Att1="content3"  
Att1="content5"  

Комментарии

Обратите внимание, что в отличие от некоторых других XML программных интерфейсов, в LINQ to XMLLINQ to XML, пространства имен отображаются в виде атрибутов.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Этот метод использует отложенное выполнение.This method uses deferred execution.

Дополнительно

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