Extensions.XPathSelectElements Methode
Definition
Wählt mithilfe eines XPath-Ausdrucks eine Auflistung von Elementen aus.Selects a collection of elements using an XPath expression.
Überlädt
XPathSelectElements(XNode, String) |
Wählt mithilfe eines XPath-Ausdrucks eine Auflistung von Elementen aus.Selects a collection of elements using an XPath expression. |
XPathSelectElements(XNode, String, IXmlNamespaceResolver) |
Wählt mithilfe eines XPath-Ausdrucks eine Auflistung von Elementen aus und löst Namespacepräfixe mit dem angegebenen IXmlNamespaceResolver auf.Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. |
Hinweise
Obwohl die Reihenfolge der zurückgegebenen Auflistungen in der XML XPath Language 1,0-Empfehlung nicht angegeben ist, gibt diese Erweiterungsmethode Knoten in Dokument Reihenfolge zurück.Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.
Beachten Sie, dass Knoten in Dokument Reihenfolge zurückgegeben werden, auch wenn Sie eine umgekehrte Achse verwenden, z preceding-sibling
ancestor-or-self
. b. oder.Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling
or ancestor-or-self
.
XPathSelectElements(XNode, String)
Wählt mithilfe eines XPath-Ausdrucks eine Auflistung von Elementen aus.Selects a collection of elements using an XPath expression.
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)
Parameter
- node
- XNode
Der XNode, in dem der XPath-Ausdruck ausgewertet wird.The XNode on which to evaluate the XPath expression.
- expression
- String
Ein String, der einen XPath-Ausdruck enthält.A String that contains an XPath expression.
Gibt zurück
Ein IEnumerable<T> vom Typ XElement, die die ausgewählten Elemente enthält.An IEnumerable<T> of XElement that contains the selected elements.
Beispiele
Das folgende Beispiel erstellt eine kleine XML-Struktur und verwendet zum Auswählen eines Satzes von Elementen XPathSelectElements.The following example creates a small XML tree and uses XPathSelectElements to select a set of elements.
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
Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:
<Child2>4</Child2>
<Child2>5</Child2>
<Child2>6</Child2>
Hinweise
Obwohl die Reihenfolge der zurückgegebenen Auflistungen in der XML XPath Language 1,0-Empfehlung nicht angegeben ist, gibt diese Erweiterungsmethode Knoten in Dokument Reihenfolge zurück.Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.
Beachten Sie, dass Knoten in Dokument Reihenfolge zurückgegeben werden, auch wenn Sie eine umgekehrte Achse verwenden, z preceding-sibling
ancestor-or-self
. b. oder.Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling
or ancestor-or-self
.
Gilt für:
XPathSelectElements(XNode, String, IXmlNamespaceResolver)
Wählt mithilfe eines XPath-Ausdrucks eine Auflistung von Elementen aus und löst Namespacepräfixe mit dem angegebenen IXmlNamespaceResolver auf.Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified 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)
Parameter
- node
- XNode
Der XNode, in dem der XPath-Ausdruck ausgewertet wird.The XNode on which to evaluate the XPath expression.
- expression
- String
Ein String, der einen XPath-Ausdruck enthält.A String that contains an XPath expression.
- resolver
- IXmlNamespaceResolver
Ein IXmlNamespaceResolver für die Namespacepräfixe im XPath-Ausdruck.A IXmlNamespaceResolver for the namespace prefixes in the XPath expression.
Gibt zurück
Ein IEnumerable<T> vom Typ XElement, die die ausgewählten Elemente enthält.An IEnumerable<T> of XElement that contains the selected elements.
Beispiele
In diesem Beispiel wird eine XML-Struktur erstellt, die einen Namespace enthält.This example creates an XML tree that contains a namespace. Zum Lesen des XML-Dokuments kommt dabei ein XmlReader zum Einsatz.It uses an XmlReader to read the XML document. Anschließend werden eine XmlNameTable aus dem XmlReader und ein XmlNamespaceManager aus der XmlNameTable abgerufen.It then gets an XmlNameTable from the XmlReader, and an XmlNamespaceManager from the XmlNameTable. XmlNamespaceManagerBeim Auswählen der Liste der Elemente wird der verwendet.It uses the XmlNamespaceManager when selecting the list of elements.
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
Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:
<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>
Hinweise
Mit dieser Methode können Sie XPath-Ausdrücke auswerten, die Namespace Präfixe enthalten.You can use this method to evaluate XPath expressions that contain namespace prefixes.
Obwohl die Reihenfolge der zurückgegebenen Auflistungen in der XML XPath Language 1,0-Empfehlung nicht angegeben ist, gibt diese Erweiterungsmethode Knoten in Dokument Reihenfolge zurück.Although the ordering of returned collections is not specified in the XML XPath Language 1.0 Recommendation, this extension method returns nodes in document order.
Beachten Sie, dass Knoten in Dokument Reihenfolge zurückgegeben werden, auch wenn Sie eine umgekehrte Achse verwenden, z preceding-sibling
ancestor-or-self
. b. oder.Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling
or ancestor-or-self
.