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

IEnumerable<XElement>

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

IEnumerable<XElement>

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.

Gilt für: