Extensions.Attributes Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí kolekci atributů každého prvku ve zdrojové kolekci.
Přetížení
Attributes(IEnumerable<XElement>) |
Vrátí kolekci atributů každého prvku ve zdrojové kolekci. |
Attributes(IEnumerable<XElement>, XName) |
Vrátí filtrovanou kolekci atributů každého prvku ve zdrojové kolekci. Do kolekce jsou zahrnuty pouze prvky, které mají odpovídající XName hodnoty. |
Poznámky
Uživatelé jazyka Visual Basic mohou použít integrovanou osu atributů k načtení atributů s konkrétním názvem z kolekce prvků.
Tato metoda používá odložené spuštění.
Attributes(IEnumerable<XElement>)
- Zdroj:
- Extensions.cs
- Zdroj:
- Extensions.cs
- Zdroj:
- Extensions.cs
Vrátí kolekci atributů každého prvku ve zdrojové kolekci.
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)
Parametry
- source
- IEnumerable<XElement>
, IEnumerable<T>XElement která obsahuje zdrojovou kolekci.
Návraty
XAttribute Hodnota IEnumerable<T> , která obsahuje atributy každého prvku ve zdrojové kolekci.
Příklady
Následující příklad načte kolekci elementů a pak načte kolekci všech atributů všech prvků v kolekci. Všimněte si, že výsledná kolekce obsahuje pouze atributy elementů Child1
a a Child2
nikoli atributy elementu Root
.
Všimněte si, že atribut oboru názvů je vrácen touto metodou.
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
Tento příklad vytvoří následující výstup:
<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"
Následuje stejný příklad, ale v tomto případě je XML v oboru názvů. Další informace najdete v tématu Práce s obory názvů XML. Všimněte si, že atribut oboru názvů je součástí vrácené kolekce.
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
Tento příklad vytvoří následující výstup:
<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"
Poznámky
Všimněte si, že na rozdíl od některých jiných programovacích rozhraní XML se obory názvů v LINQ to XML zobrazují jako atributy.
Přestože uživatelé jazyka Visual Basic mohou použít integrovanou osu atributů k načtení atributů se zadaným názvem z kolekce prvků, neexistuje žádná integrovaná osa jazyka Visual Basic pro načtení všech atributů všech prvků v kolekci.
Tato metoda používá odložené spuštění.
Viz také
Platí pro
Attributes(IEnumerable<XElement>, XName)
- Zdroj:
- Extensions.cs
- Zdroj:
- Extensions.cs
- Zdroj:
- Extensions.cs
Vrátí filtrovanou kolekci atributů každého prvku ve zdrojové kolekci. Do kolekce jsou zahrnuty pouze prvky, které mají odpovídající XName hodnoty.
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)
Parametry
- source
- IEnumerable<XElement>
, IEnumerable<T>XElement která obsahuje zdrojovou kolekci.
Návraty
XAttribute Hodnota , IEnumerable<T> která obsahuje filtrovanou kolekci atributů každého prvku ve zdrojové kolekci. Do kolekce jsou zahrnuty pouze prvky, které mají odpovídající XName hodnoty.
Příklady
Následující příklad načte kolekci elementů, která v tomto případě zahrnuje elementy Child1
a Child2
. Potom načte všechny atributy této podřízené kolekce s názvem 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
Tento příklad vytvoří následující výstup:
Att1="content3"
Att1="content5"
Poznámky
Všimněte si, že na rozdíl od některých jiných programovacích rozhraní XML se obory názvů v LINQ to XML zobrazují jako atributy.
Tato metoda používá odložené spuštění.