Extensions.Attributes Metodo

Definizione

Restituisce una raccolta di tutti gli attributi di ciascun elemento nella raccolta di origine.

Overload

Attributes(IEnumerable<XElement>)

Restituisce una raccolta di tutti gli attributi di ciascun elemento nella raccolta di origine.

Attributes(IEnumerable<XElement>, XName)

Restituisce una raccolta filtrata di tutti gli attributi di ciascun elemento nella raccolta di origine. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.

Commenti

Gli utenti di Visual Basic possono usare l'asse dell'attributo 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

Restituisce una raccolta di tutti gli attributi di ciascun elemento nella raccolta di origine.

C#
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes (this System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> source);
C#
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XAttribute> Attributes (this System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement?> source);

Parametri

source
IEnumerable<XElement>

IEnumerable<T> di XElement che contiene la raccolta di origine.

Restituisce

IEnumerable<T> di XAttribute che contiene gli attributi di ciascun 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 dell'insieme. Si noti che la raccolta risultante include solo gli attributi degli Child1 elementi e Child2 e non gli attributi dell'elemento Root .

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

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

Nell'esempio viene prodotto 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 gli spazi dei nomi XML. Si noti che l'attributo dello spazio dei nomi è incluso nella raccolta restituita.

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

Nell'esempio viene prodotto 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 gli utenti di Visual Basic possano usare l'asse dell'attributo 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 in una raccolta.

Questo metodo usa l'esecuzione posticipata.

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Attributes(IEnumerable<XElement>, XName)

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

Restituisce una raccolta filtrata di tutti gli attributi di ciascun elemento nella raccolta di origine. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.

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

Parametri

source
IEnumerable<XElement>

IEnumerable<T> di XElement che contiene la raccolta di origine.

name
XName

Oggetto XName di cui trovare la corrispondenza.

Restituisce

IEnumerable<T> di XAttribute che contiene una raccolta filtrata degli attributi di ciascun elemento nella raccolta di origine. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.

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 di Att1.

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

Nell'esempio viene prodotto 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

.NET 9 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0