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

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>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) 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) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) 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

Gli utenti di Visual Basic possono usare l'asse attribute integrata 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>) Attributes(IEnumerable<XElement>) Attributes(IEnumerable<XElement>) 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 recupera una raccolta di elementi e quindi recupera una raccolta di tutti gli attributi di tutti gli elementi nella 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 del Child1 e Child2 gli elementi e non gli attributi del Root 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 l'attributo dello spazio dei nomi viene restituito da questo metodo.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 è in uno spazio dei nomi.The following is the same example, but in this case the XML is in a namespace. Per altre informazioni, vedere uso di spazi dei nomi XML.For more information, see Working with XML Namespaces. Si noti che l'attributo dello spazio dei nomi è 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 alcune XML altre interfacce di programmazione, in LINQ to XMLLINQ to XML, gli spazi dei nomi vengono rilevate come attributi.Note that unlike some other XML programming interfaces, in LINQ to XMLLINQ to XML, namespaces are surfaced as attributes.

Anche se gli utenti di Visual Basic possono usare l'asse attribute integrata per recuperare gli attributi con il nome specificato da una raccolta di elementi, non vi è alcun integrata asse di Visual Basic per recuperare tutti gli attributi di tutti gli elementi in 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) Attributes(IEnumerable<XElement>, XName) Attributes(IEnumerable<XElement>, XName) 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 XName XName 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 recupera una raccolta di elementi, che in questo caso include il Child1 e Child2 elementi.The following example retrieves a collection of elements, which in this case includes the Child1 and Child2 elements. Recupera quindi tutti gli attributi di tale raccolta figlio con un nome di 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 alcune XML altre interfacce di programmazione, in LINQ to XMLLINQ to XML, gli spazi dei nomi vengono rilevate 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