Extensions.Attributes Metodo

Definizione

Restituisce una raccolta di tutti gli attributi di ciascun elemento nella raccolta di origine.Returns a collection of the attributes of every element in the source collection.

Overload

Attributes(IEnumerable<XElement>)

Restituisce una raccolta di tutti gli attributi di ciascun elemento nella raccolta di origine.Returns a collection of the attributes of every element in the source collection.

Attributes(IEnumerable<XElement>, XName)

Restituisce una raccolta filtrata di tutti gli attributi di ciascun elemento nella raccolta di origine.Returns a filtered collection of the attributes of every element in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

Commenti

Visual Basic gli utenti possono usare l'asse degli attributi integrato per recuperare gli attributi con un nome specifico da una raccolta di elementi.Visual Basic users can use the integrated attribute axis to retrieve attributes with a particular name from a collection of elements.

Questo metodo utilizza l'esecuzione posticipata.This method uses deferred execution.

Attributes(IEnumerable<XElement>)

Restituisce una raccolta di tutti gli attributi di ciascun elemento nella raccolta di origine.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)

Parametri

source
IEnumerable<XElement>

IEnumerable<T> di XElement che contiene la raccolta di origine.An IEnumerable<T> of XElement that contains the source collection.

Restituisce

IEnumerable<T> di XAttribute che contiene gli attributi di ciascun elemento nella raccolta di origine.An IEnumerable<T> of XAttribute that contains the attributes of every element in the source collection.

Esempi

Nell'esempio seguente viene recuperata una raccolta di elementi, quindi viene recuperata una raccolta di tutti gli attributi di tutti gli elementi della raccolta.The following example retrieves a collection of elements, and then retrieves a collection of all attributes of all elements in the collection. Si noti che la raccolta risultante include solo gli attributi degli Child1 elementi Child2 e e Root non gli attributi dell'elemento.Note that the resulting collection includes only the attributes of the Child1 and Child2 elements, and not the attributes of the Root element.

Si noti che questo metodo restituisce l'attributo Namespace.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  

Questo esempio produce il seguente output: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"  

Di seguito è riportato lo stesso esempio, ma in questo caso il codice XML si trova in uno spazio dei nomi.The following is the same example, but in this case the XML is in a namespace. Per ulteriori informazioni, vedere utilizzo degli spazi dei nomi XML.For more information, see Working with XML Namespaces. Si noti che l'attributo Namespace è incluso nella raccolta restituita.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  

Questo esempio produce il seguente output: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"  

Commenti

Si noti che, a differenza di altre interfacce di programmazione LINQ to XMLLINQ to XMLXML, in gli spazi dei nomi vengono esposti come attributi.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Anche se Visual Basic utenti possono usare l'asse degli attributi integrato per recuperare gli attributi con un nome specificato da una raccolta di elementi, non esiste alcun asse di Visual Basic integrato per recuperare tutti gli attributi di tutti gli elementi di una raccolta.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.

Questo metodo utilizza l'esecuzione posticipata.This method uses deferred execution.

Vedi anche

Attributes(IEnumerable<XElement>, XName)

Restituisce una raccolta filtrata di tutti gli attributi di ciascun elemento nella raccolta di origine.Returns a filtered collection of the attributes of every element in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.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)

Parametri

source
IEnumerable<XElement>

IEnumerable<T> di XElement che contiene la raccolta di origine.An IEnumerable<T> of XElement that contains the source collection.

name
XName

Oggetto XName di cui trovare la corrispondenza.The XName to match.

Restituisce

IEnumerable<T> di XAttribute che contiene una raccolta filtrata degli attributi di ciascun elemento nella raccolta di origine.An IEnumerable<T> of XAttribute that contains a filtered collection of the attributes of every element in the source collection. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.Only elements that have a matching XName are included in the collection.

Esempi

Nell'esempio seguente viene recuperata una raccolta di elementi, che in questo caso Child1 include Child2 gli elementi e.The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. Recupera quindi tutti gli attributi della raccolta figlio con un nome 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  
  

Questo esempio produce il seguente output:This example produces the following output:

Att1="content3"  
Att1="content5"  

Commenti

Si noti che, a differenza di altre interfacce di programmazione LINQ to XMLLINQ to XMLXML, in gli spazi dei nomi vengono esposti come attributi.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Questo metodo utilizza l'esecuzione posticipata.This method uses deferred execution.

Vedi anche

Si applica a