Extensions.Attributes Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.
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>
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.
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
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.
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
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
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.
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>
IEnumerable<T> di XElement che contiene la raccolta di origine.
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
.
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
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.