Extensions.Attributes Metodo

Definizione

Restituisce una raccolta degli attributi di ogni elemento dell'insieme di origine.

Overload

Nome Descrizione
Attributes(IEnumerable<XElement>)

Restituisce una raccolta degli attributi di ogni elemento dell'insieme di origine.

Attributes(IEnumerable<XElement>, XName)

Restituisce una raccolta filtrata degli attributi di ogni elemento nella raccolta di origine. Nella raccolta sono inclusi solo gli elementi con un XName corrispondente.

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.

Questo metodo usa l'esecuzione posticipata.

Attributes(IEnumerable<XElement>)

Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs

Restituisce una raccolta degli attributi di ogni elemento dell'insieme di origine.

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

Oggetto IEnumerable<T> di XElement contenente la raccolta di origine.

Valori restituiti

Oggetto IEnumerable<T> di XAttribute che contiene gli attributi di ogni elemento nella raccolta di origine.

Esempio

Nell'esempio seguente viene recuperata una raccolta di elementi e quindi viene recuperata una raccolta di tutti gli attributi di tutti gli elementi della raccolta. Si noti che la raccolta risultante include solo gli attributi degli Child1 elementi e Child2 e e non gli attributi dell'elemento Root .

Si noti che l'attributo dello spazio dei nomi viene restituito da questo metodo.

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

In questo esempio viene generato l'output seguente:

<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 . Per altre informazioni, vedere Usare spazi dei nomi XML. Si noti che l'attributo dello spazio dei nomi è incluso nella raccolta restituita.

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

In questo esempio viene generato l'output seguente:

<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 XML, in LINQ to XML gli spazi dei nomi vengono visualizzati come attributi.

Sebbene Visual Basic gli utenti possano utilizzare l'asse degli attributi integrato per recuperare gli attributi con un nome specificato da una raccolta di elementi, non esiste un asse Visual Basic integrato per recuperare tutti gli attributi di tutti gli elementi di una raccolta.

Questo metodo usa l'esecuzione posticipata.

Vedi anche

Si applica a

Attributes(IEnumerable<XElement>, XName)

Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs
Origine:
Extensions.cs

Restituisce una raccolta filtrata degli attributi di ogni elemento nella raccolta di origine. Nella raccolta sono inclusi solo gli elementi con un XName corrispondente.

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

Oggetto IEnumerable<T> di XElement contenente la raccolta di origine.

name
XName

Oggetto XName da trovare.

Valori restituiti

Oggetto IEnumerable<T> di XAttribute che contiene una raccolta filtrata degli attributi di ogni elemento nella raccolta di origine. Nella raccolta sono inclusi solo gli elementi con un XName corrispondente.

Esempio

Nell'esempio seguente viene recuperata una raccolta di elementi, che in questo caso include gli Child1 elementi e Child2 . Recupera quindi tutti gli attributi della raccolta figlio con un nome .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

In questo esempio viene generato l'output seguente:

Att1="content3"
Att1="content5"

Commenti

Si noti che, a differenza di altre interfacce di programmazione XML, in LINQ to XML gli spazi dei nomi vengono visualizzati come attributi.

Questo metodo usa l'esecuzione posticipata.

Vedi anche

Si applica a