Extensions.Elements Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een verzameling onderliggende elementen van elk element en document in de bronverzameling.
Overloads
| Name | Description |
|---|---|
| Elements<T>(IEnumerable<T>) |
Retourneert een verzameling onderliggende elementen van elk element en document in de bronverzameling. |
| Elements<T>(IEnumerable<T>, XName) |
Retourneert een gefilterde verzameling van de onderliggende elementen van elk element en document in de bronverzameling. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling. |
Opmerkingen
Visual Basic bevat een geïntegreerde elementenas waarmee u alle onderliggende elementen kunt vinden met een opgegeven XName voor elk element in de bronverzameling.
Deze methode maakt gebruik van de uitgestelde uitvoering.
Elements<T>(IEnumerable<T>)
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
Retourneert een verzameling onderliggende elementen van elk element en document in de bronverzameling.
public:
generic <typename T>
where T : System::Xml::Linq::XContainer[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Elements(System::Collections::Generic::IEnumerable<T> ^ source);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T> source) where T : System.Xml.Linq.XContainer;
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T?> source) where T : System.Xml.Linq.XContainer;
static member Elements : seq<'T (requires 'T :> System.Xml.Linq.XContainer)> -> seq<System.Xml.Linq.XElement> (requires 'T :> System.Xml.Linq.XContainer)
<Extension()>
Public Function Elements(Of T As XContainer) (source As IEnumerable(Of T)) As IEnumerable(Of XElement)
Type parameters
- T
Het type van de objecten in source, beperkt tot XContainer.
Parameters
- source
- IEnumerable<T>
Een IEnumerable<T> van XElement die de bronverzameling bevat.
Retouren
Een IEnumerable<T> van XElement de onderliggende elementen van elk element of document in de bronverzameling.
Voorbeelden
In het volgende voorbeeld wordt een verzameling elementen opgehaald met de elementnaam van Child. Vervolgens wordt deze asmethode gebruikt om alle onderliggende elementen van de verzameling op te halen.
XElement xmlTree = new XElement("Root",
new XElement("Child",
new XElement("GrandChild1", 1),
new XElement("GrandChild2", 2)
),
new XElement("Child",
new XElement("GrandChild3", 3),
new XElement("GrandChild4", 4)
),
new XElement("Child",
new XElement("GrandChild5", 5),
new XElement("GrandChild6", 6)
)
);
IEnumerable<XElement> allGrandChildren =
from el in xmlTree.Elements("Child").Elements()
select el;
foreach (XElement el in allGrandChildren)
Console.WriteLine(el);
Dim xmlTree As XElement = _
<Root>
<Child>
<GrandChild1>1</GrandChild1>
<GrandChild2>2</GrandChild2>
</Child>
<Child>
<GrandChild3>3</GrandChild3>
<GrandChild4>4</GrandChild4>
</Child>
<Child>
<GrandChild5>5</GrandChild5>
<GrandChild6>6</GrandChild6>
</Child>
</Root>
Dim allGrandChildren = From el In xmlTree.<Child>.Elements _
Select el
For Each el As XElement In allGrandChildren
Console.WriteLine(el)
Next
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<GrandChild1>1</GrandChild1>
<GrandChild2>2</GrandChild2>
<GrandChild3>3</GrandChild3>
<GrandChild4>4</GrandChild4>
<GrandChild5>5</GrandChild5>
<GrandChild6>6</GrandChild6>
Hier volgt hetzelfde voorbeeld, maar in dit geval bevindt de XML zich in een naamruimte. Zie Werken met XML-naamruimten voor meer informatie.
XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
new XElement(aw + "Child",
new XElement(aw + "GrandChild1", 1),
new XElement(aw + "GrandChild2", 2)
),
new XElement(aw + "Child",
new XElement(aw + "GrandChild3", 3),
new XElement(aw + "GrandChild4", 4)
),
new XElement(aw + "Child",
new XElement(aw + "GrandChild5", 5),
new XElement(aw + "GrandChild6", 6)
)
);
IEnumerable<XElement> allGrandChildren =
from el in xmlTree.Elements(aw + "Child").Elements()
select el;
foreach (XElement el in allGrandChildren)
Console.WriteLine(el);
Imports <xmlns="http://www.adventure-works.com">
Module Module1
Sub Main()
Dim xmlTree As XElement = _
<Root>
<Child>
<GrandChild1>1</GrandChild1>
<GrandChild2>2</GrandChild2>
</Child>
<Child>
<GrandChild3>3</GrandChild3>
<GrandChild4>4</GrandChild4>
</Child>
<Child>
<GrandChild5>5</GrandChild5>
<GrandChild6>6</GrandChild6>
</Child>
</Root>
Dim allGrandChildren = From el In xmlTree.<Child>.Elements _
Select el
For Each el As XElement In allGrandChildren
Console.WriteLine(el)
Next
End Sub
End Module
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<GrandChild1 xmlns="http://www.adventure-works.com">1</GrandChild1>
<GrandChild2 xmlns="http://www.adventure-works.com">2</GrandChild2>
<GrandChild3 xmlns="http://www.adventure-works.com">3</GrandChild3>
<GrandChild4 xmlns="http://www.adventure-works.com">4</GrandChild4>
<GrandChild5 xmlns="http://www.adventure-works.com">5</GrandChild5>
<GrandChild6 xmlns="http://www.adventure-works.com">6</GrandChild6>
Opmerkingen
Hoewel Visual Basic een geïntegreerde elementenas bevat waarmee u alle onderliggende elementen kunt vinden met een opgegeven XName voor elk element in de bronverzameling, is er geen geïntegreerde elementenas waarmee u een verzameling van elk onderliggend element voor elk element in de bronverzameling kunt ophalen.
Deze methode maakt gebruik van de uitgestelde uitvoering.
Zie ook
- DescendantNodesAndSelf()
- DescendantsAndSelf()
- DescendantNodes()
- Descendants()
- Attributes
- Overzicht van LINQ naar XML
Van toepassing op
Elements<T>(IEnumerable<T>, XName)
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
- Bron:
- Extensions.cs
Retourneert een gefilterde verzameling van de onderliggende elementen van elk element en document in de bronverzameling. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.
public:
generic <typename T>
where T : System::Xml::Linq::XContainer[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ Elements(System::Collections::Generic::IEnumerable<T> ^ source, System::Xml::Linq::XName ^ name);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T> source, System.Xml.Linq.XName name) where T : System.Xml.Linq.XContainer;
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Elements<T>(this System.Collections.Generic.IEnumerable<T?> source, System.Xml.Linq.XName? name) where T : System.Xml.Linq.XContainer;
static member Elements : seq<'T (requires 'T :> System.Xml.Linq.XContainer)> * System.Xml.Linq.XName -> seq<System.Xml.Linq.XElement> (requires 'T :> System.Xml.Linq.XContainer)
<Extension()>
Public Function Elements(Of T As XContainer) (source As IEnumerable(Of T), name As XName) As IEnumerable(Of XElement)
Type parameters
- T
Het type van de objecten in source, beperkt tot XContainer.
Parameters
- source
- IEnumerable<T>
Een IEnumerable<T> van XElement die de bronverzameling bevat.
Retouren
Een IEnumerable<T> van XElement de onderliggende elementen van elk element en document in de bronverzameling. Alleen elementen die een overeenkomst XName hebben, worden opgenomen in de verzameling.
Voorbeelden
Deze extensiemethode is handig als u alle elementen met een opgegeven naam op een bepaalde diepte wilt ophalen. Dit is eenvoudig als het document erg regelmatig is, maar als het document onregelmatig is, kan het wat moeilijker zijn. In het volgende voorbeeld willen we alle aaa elementen ophalen die onderliggende elementen van Item elementen zijn. Een bepaald Item element mag al dan niet een aaa element bevatten. Dit wordt eenvoudig bereikt met behulp van deze extensiemethode, als volgt:
XElement xmlTree = new XElement("Root",
new XElement("Item",
new XElement("aaa", 1),
new XElement("bbb", 2)
),
new XElement("Item",
new XElement("ccc", 3),
new XElement("aaa", 4)
),
new XElement("Item",
new XElement("ddd", 5),
new XElement("eee", 6)
)
);
IEnumerable<XElement> allGrandChildren =
from el in xmlTree.Elements("Item").Elements("aaa")
select el;
foreach (XElement el in allGrandChildren)
Console.WriteLine(el);
Dim xmlTree As XElement = _
<Root>
<Item>
<aaa>1</aaa>
<bbb>2</bbb>
</Item>
<Item>
<ccc>3</ccc>
<aaa>4</aaa>
</Item>
<Item>
<ddd>5</ddd>
<eee>6</eee>
</Item>
</Root>
Dim allGrandChildren = From el In xmlTree.<Item>.<aaa> _
Select el
For Each el As XElement In allGrandChildren
Console.WriteLine(el)
Next
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<aaa>1</aaa>
<aaa>4</aaa>
Hier volgt hetzelfde voorbeeld, maar in dit geval bevindt de XML zich in een naamruimte. Zie Werken met XML-naamruimten voor meer informatie.
XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
new XElement(aw + "Item",
new XElement(aw + "aaa", 1),
new XElement(aw + "bbb", 2)
),
new XElement(aw + "Item",
new XElement(aw + "ccc", 3),
new XElement(aw + "aaa", 4)
),
new XElement(aw + "Item",
new XElement(aw + "ddd", 5),
new XElement(aw + "eee", 6)
)
);
IEnumerable<XElement> allGrandChildren =
from el in xmlTree.Elements(aw + "Item").Elements(aw + "aaa")
select el;
foreach (XElement el in allGrandChildren)
Console.WriteLine(el);
Imports <xmlns="http://www.adventure-works.com">
Module Module1
Sub Main()
Dim xmlTree As XElement = _
<Root>
<Item>
<aaa>1</aaa>
<bbb>2</bbb>
</Item>
<Item>
<ccc>3</ccc>
<aaa>4</aaa>
</Item>
<Item>
<ddd>5</ddd>
<eee>6</eee>
</Item>
</Root>
Dim allGrandChildren = From el In xmlTree.<Item>.<aaa> _
Select el
For Each el As XElement In allGrandChildren
Console.WriteLine(el)
Next
End Sub
End Module
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<aaa xmlns="http://www.adventure-works.com">1</aaa>
<aaa xmlns="http://www.adventure-works.com">4</aaa>
Opmerkingen
Visual Basic gebruikers kunnen de geïntegreerde elementenas gebruiken om de onderliggende elementen van elk element in een verzameling op te halen.
Deze methode maakt gebruik van de uitgestelde uitvoering.
Zie ook
- DescendantNodesAndSelf()
- DescendantsAndSelf()
- DescendantNodes()
- Descendants()
- Attributes
- Overzicht van LINQ naar XML