Sdílet prostřednictvím


Extensions.XPathSelectElements Metoda

Definice

Vybere kolekci prvků pomocí výrazu XPath.

Přetížení

XPathSelectElements(XNode, String)

Vybere kolekci prvků pomocí výrazu XPath.

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Vybere kolekci prvků pomocí výrazu XPath a přeloží předpony oboru názvů pomocí zadaného IXmlNamespaceResolvervýrazu .

Poznámky

I když pořadí vrácených kolekcí není zadáno v doporučení XML XPath Language 1.0, tato metoda rozšíření vrací uzly v pořadí dokumentů.

Mějte na paměti, že uzly jsou vráceny v pořadí dokumentů, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.

XPathSelectElements(XNode, String)

Vybere kolekci prvků pomocí výrazu XPath.

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

Na XNode kterém se má vyhodnotit výraz XPath.

expression
String

A String obsahující výraz XPath.

Návraty

IEnumerable<XElement>

Hodnota IEnumerable<T> XElement obsahující vybrané prvky.

Příklady

Následující příklad vytvoří malý strom XML a používá XPathSelectElements k výběru sady prvků.

                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:

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

Poznámky

I když pořadí vrácených kolekcí není zadáno v doporučení XML XPath Language 1.0, tato metoda rozšíření vrací uzly v pořadí dokumentů.

Mějte na paměti, že uzly jsou vráceny v pořadí dokumentů, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.

Platí pro

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Vybere kolekci prvků pomocí výrazu XPath a přeloží předpony oboru názvů pomocí zadaného IXmlNamespaceResolvervýrazu .

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

Na XNode kterém se má vyhodnotit výraz XPath.

expression
String

A String obsahující výraz XPath.

resolver
IXmlNamespaceResolver

A IXmlNamespaceResolver pro předpony oboru názvů ve výrazu XPath.

Návraty

IEnumerable<XElement>

Hodnota IEnumerable<T> XElement obsahující vybrané prvky.

Příklady

Tento příklad vytvoří strom XML, který obsahuje obor názvů. XmlReader Používá k přečtení dokumentu XML. Pak získá XmlNameTable od XmlReadera XmlNamespaceManager z .XmlNameTable XmlNamespaceManager Používá se při výběru seznamu prvků.

                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:

<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ů.

I když pořadí vrácených kolekcí není zadáno v doporučení XML XPath Language 1.0, tato metoda rozšíření vrací uzly v pořadí dokumentů.

Mějte na paměti, že uzly jsou vráceny v pořadí dokumentů, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.

Platí pro