Extensions.XPathSelectElements 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.
Hiermee selecteert u een verzameling elementen met behulp van een XPath-expressie.
Overloads
| Name | Description |
|---|---|
| XPathSelectElements(XNode, String) |
Hiermee selecteert u een verzameling elementen met behulp van een XPath-expressie. |
| XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Selecteert een verzameling elementen met behulp van een XPath-expressie, waarbij naamruimtevoorvoegsels worden omgezet met behulp van de opgegeven IXmlNamespaceResolver. |
Opmerkingen
Hoewel de volgorde van geretourneerde verzamelingen niet is opgegeven in de aanbeveling XML XPath Language 1.0, retourneert deze extensiemethode knooppunten in documentvolgorde.
Houd er rekening mee dat knooppunten worden geretourneerd in documentvolgorde, zelfs wanneer u een omgekeerde as gebruikt, zoals preceding-sibling of ancestor-or-self.
XPathSelectElements(XNode, String)
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
Hiermee selecteert u een verzameling elementen met behulp van een XPath-expressie.
public:
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ XPathSelectElements(System::Xml::Linq::XNode ^ node, System::String ^ expression);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements(this System.Xml.Linq.XNode node, string expression);
static member XPathSelectElements : System.Xml.Linq.XNode * string -> seq<System.Xml.Linq.XElement>
<Extension()>
Public Function XPathSelectElements (node As XNode, expression As String) As IEnumerable(Of XElement)
Parameters
Retouren
Een IEnumerable<T> van XElement de geselecteerde elementen.
Voorbeelden
In het volgende voorbeeld wordt een kleine XML-structuur gemaakt en gebruikt XPathSelectElements om een set elementen te selecteren.
XElement root = new XElement("Root",
new XElement("Child1", 1),
new XElement("Child1", 2),
new XElement("Child1", 3),
new XElement("Child2", 4),
new XElement("Child2", 5),
new XElement("Child2", 6)
);
IEnumerable<XElement> list = root.XPathSelectElements("./Child2");
foreach (XElement el in list)
Console.WriteLine(el);
Dim root As XElement = _
<Root>
<Child1>1</Child1>
<Child1>2</Child1>
<Child1>3</Child1>
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
</Root>
Dim list As IEnumerable(Of XElement) = root.XPathSelectElements("./Child2")
For Each el As XElement In list
Console.WriteLine(el)
Next
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Opmerkingen
Hoewel de volgorde van geretourneerde verzamelingen niet is opgegeven in de aanbeveling XML XPath Language 1.0, retourneert deze extensiemethode knooppunten in documentvolgorde.
Houd er rekening mee dat knooppunten worden geretourneerd in documentvolgorde, zelfs wanneer u een omgekeerde as gebruikt, zoals preceding-sibling of ancestor-or-self.
Van toepassing op
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
- Bron:
- XNodeNavigator.cs
Selecteert een verzameling elementen met behulp van een XPath-expressie, waarbij naamruimtevoorvoegsels worden omgezet met behulp van de opgegeven IXmlNamespaceResolver.
public:
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<System::Xml::Linq::XElement ^> ^ XPathSelectElements(System::Xml::Linq::XNode ^ node, System::String ^ expression, System::Xml::IXmlNamespaceResolver ^ resolver);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements(this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver? resolver);
public static System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> XPathSelectElements(this System.Xml.Linq.XNode node, string expression, System.Xml.IXmlNamespaceResolver resolver);
static member XPathSelectElements : System.Xml.Linq.XNode * string * System.Xml.IXmlNamespaceResolver -> seq<System.Xml.Linq.XElement>
<Extension()>
Public Function XPathSelectElements (node As XNode, expression As String, resolver As IXmlNamespaceResolver) As IEnumerable(Of XElement)
Parameters
- resolver
- IXmlNamespaceResolver
A IXmlNamespaceResolver voor de voorvoegsels van de naamruimte in de XPath-expressie.
Retouren
Een IEnumerable<T> van XElement de geselecteerde elementen.
Voorbeelden
In dit voorbeeld wordt een XML-structuur gemaakt die een naamruimte bevat. Er wordt een XmlReader gebruikt om het XML-document te lezen. Het krijgt dan een XmlNameTable van de XmlReader, en een XmlNamespaceManager van de XmlNameTable. Hierbij wordt de XmlNamespaceManager lijst met elementen gebruikt.
string markup = @"
<aw:Root xmlns:aw='http://www.adventure-works.com'>
<aw:Child1>child one data 1</aw:Child1>
<aw:Child1>child one data 2</aw:Child1>
<aw:Child1>child one data 3</aw:Child1>
<aw:Child2>child two data 4</aw:Child2>
<aw:Child2>child two data 5</aw:Child2>
<aw:Child2>child two data 6</aw:Child2>
</aw:Root>";
XmlReader reader = XmlReader.Create(new StringReader(markup));
XElement root = XElement.Load(reader);
XmlNameTable nameTable = reader.NameTable;
XmlNamespaceManager namespaceManager = new XmlNamespaceManager(nameTable);
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com");
IEnumerable<XElement> elements = root.XPathSelectElements("./aw:Child1", namespaceManager);
foreach (XElement el in elements)
Console.WriteLine(el);
Dim markup As XElement = _
<aw:Root xmlns:aw="http://www.adventure-works.com">
<aw:Child1>child one data 1</aw:Child1>
<aw:Child1>child one data 2</aw:Child1>
<aw:Child1>child one data 3</aw:Child1>
<aw:Child2>child two data 4</aw:Child2>
<aw:Child2>child two data 5</aw:Child2>
<aw:Child2>child two data 6</aw:Child2>
</aw:Root>
Dim reader As XmlReader = markup.CreateReader
Dim nameTable As XmlNameTable = reader.NameTable
Dim namespaceManager As XmlNamespaceManager = New XmlNamespaceManager(nameTable)
namespaceManager.AddNamespace("aw", "http://www.adventure-works.com")
Dim elements As IEnumerable(Of XElement) = markup.XPathSelectElements("./aw:Child1", namespaceManager)
For Each el As XElement In elements
Console.WriteLine(el)
Next
In dit voorbeeld wordt de volgende uitvoer gegenereerd:
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 1</aw:Child1>
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 2</aw:Child1>
<aw:Child1 xmlns:aw="http://www.adventure-works.com">child one data 3</aw:Child1>
Opmerkingen
U kunt deze methode gebruiken om XPath-expressies te evalueren die naamruimtevoorvoegsels bevatten.
Hoewel de volgorde van geretourneerde verzamelingen niet is opgegeven in de aanbeveling XML XPath Language 1.0, retourneert deze extensiemethode knooppunten in documentvolgorde.
Houd er rekening mee dat knooppunten worden geretourneerd in documentvolgorde, zelfs wanneer u een omgekeerde as gebruikt, zoals preceding-sibling of ancestor-or-self.