Extensions.XPathSelectElements Metoda

Definice

Vybere kolekci prvků pomocí výrazu XPath.

Přetížení

Name Description
XPathSelectElements(XNode, String)

Vybere kolekci prvků pomocí výrazu XPath.

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Vybere kolekci prvků pomocí výrazu XPath, 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í vrátí uzly v pořadí dokumentu.

Všimněte si, že uzly jsou vráceny v pořadí dokumentu, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.

XPathSelectElements(XNode, String)

Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs

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 , který obsahuje výraz XPath.

Návraty

Z IEnumerable<T> toho XElement , která obsahuje vybrané prvky.

Příklady

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

                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í vrátí uzly v pořadí dokumentu.

Všimněte si, že uzly jsou vráceny v pořadí dokumentu, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.

Platí pro

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs
Zdroj:
XNodeNavigator.cs

Vybere kolekci prvků pomocí výrazu XPath, 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 , který obsahuje výraz XPath.

resolver
IXmlNamespaceResolver

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

Návraty

Z IEnumerable<T> toho XElement , která obsahuje vybrané prvky.

Příklady

Tento příklad vytvoří strom XML, který obsahuje obor názvů. Používá XmlReader k přečtení dokumentu XML. Pak získá z XmlNameTableXmlReader, a XmlNamespaceManager z XmlNameTable. Používá XmlNamespaceManager 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í vrátí uzly v pořadí dokumentu.

Všimněte si, že uzly jsou vráceny v pořadí dokumentu, i když používáte zpětnou osu, například preceding-sibling nebo ancestor-or-self.

Platí pro