Extensions.XPathSelectElements Metoda

Definice

Vybere kolekci prvků pomocí výrazu XPath.Selects a collection of elements using an XPath expression.

Přetížení

XPathSelectElements(XNode, String)

Vybere kolekci prvků pomocí výrazu XPath.Selects a collection of elements using an XPath expression.

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Vybere kolekci prvků pomocí výrazu XPath, který překládá předpony oboru názvů pomocí zadaného parametru IXmlNamespaceResolver .Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver.

Poznámky

Přestože řazení vrácených kolekcí není zadáno v jazyce XML XPath 1,0 doporučení, tato metoda rozšíření vrátí uzly v pořadí dokumentů.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.

Všimněte si, že uzly jsou vraceny v pořadí dokumentů, i když použijete reverzní osu, například preceding-sibling nebo ancestor-or-self .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)

Vybere kolekci prvků pomocí výrazu XPath.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)

Parametry

node
XNode

Pro XNode vyhodnocení výrazu XPath.The XNode on which to evaluate the XPath expression.

expression
String

Obsahující String výraz XPath.A String that contains an XPath expression.

Návraty

IEnumerable<XElement>

Obsahující IEnumerable<T> XElement vybrané prvky.An IEnumerable<T> of XElement that contains the selected elements.

Příklady

Následující příklad vytvoří malý strom XML a používá XPathSelectElements se k výběru sady prvků.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  

Tento příklad vytvoří následující výstup:This example produces the following output:

<Child2>4</Child2>  
<Child2>5</Child2>  
<Child2>6</Child2>  

Poznámky

Přestože řazení vrácených kolekcí není zadáno v jazyce XML XPath 1,0 doporučení, tato metoda rozšíření vrátí uzly v pořadí dokumentů.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.

Všimněte si, že uzly jsou vraceny v pořadí dokumentů, i když použijete reverzní osu, například preceding-sibling nebo ancestor-or-self .Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.

Platí pro

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Vybere kolekci prvků pomocí výrazu XPath, který překládá předpony oboru názvů pomocí zadaného parametru IXmlNamespaceResolver .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)

Parametry

node
XNode

Pro XNode vyhodnocení výrazu XPath.The XNode on which to evaluate the XPath expression.

expression
String

Obsahující String výraz XPath.A String that contains an XPath expression.

resolver
IXmlNamespaceResolver

IXmlNamespaceResolverPro předpony oboru názvů ve výrazu XPath.A IXmlNamespaceResolver for the namespace prefixes in the XPath expression.

Návraty

IEnumerable<XElement>

Obsahující IEnumerable<T> XElement vybrané prvky.An IEnumerable<T> of XElement that contains the selected elements.

Příklady

Tento příklad vytvoří strom XML, který obsahuje obor názvů.This example creates an XML tree that contains a namespace. Používá XmlReader ke čtení dokumentu XML.It uses an XmlReader to read the XML document. Pak získá XmlNameTable z XmlReader , a XmlNamespaceManager z XmlNameTable .It then gets an XmlNameTable from the XmlReader, and an XmlNamespaceManager from the XmlNameTable. Používá XmlNamespaceManager při výběru seznamu prvků.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  

Tento příklad vytvoří následující výstup: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>  

Poznámky

Tuto metodu můžete použít k vyhodnocení výrazů XPath, které obsahují předpony oboru názvů.You can use this method to evaluate XPath expressions that contain namespace prefixes.

Přestože řazení vrácených kolekcí není zadáno v jazyce XML XPath 1,0 doporučení, tato metoda rozšíření vrátí uzly v pořadí dokumentů.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.

Všimněte si, že uzly jsou vraceny v pořadí dokumentů, i když použijete reverzní osu, například preceding-sibling nebo ancestor-or-self .Note that nodes are returned in document order even when you use a reverse axis, such as preceding-sibling or ancestor-or-self.

Platí pro