Bahasa

Extensions.XPathSelectElements Metode

Definisi

Memilih kumpulan elemen menggunakan ekspresi XPath.

Overload

Nama Deskripsi
XPathSelectElements(XNode, String)

Memilih kumpulan elemen menggunakan ekspresi XPath.

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Memilih kumpulan elemen menggunakan ekspresi XPath, menyelesaikan awalan namespace menggunakan yang ditentukan IXmlNamespaceResolver.

Keterangan

Meskipun pengurutan koleksi yang dikembalikan tidak ditentukan dalam Rekomendasi XML XPath Language 1.0, metode ekstensi ini mengembalikan simpul dalam urutan dokumen.

Perhatikan bahwa simpul dikembalikan dalam urutan dokumen bahkan saat Anda menggunakan sumbu terbalik, seperti preceding-sibling atau ancestor-or-self.

XPathSelectElements(XNode, String)

Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs

Memilih kumpulan elemen menggunakan ekspresi 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)

Parameter

node
XNode

tempat XNode untuk mengevaluasi ekspresi XPath.

expression
String

String Yang berisi ekspresi XPath.

Mengembalikan

Salah satunya IEnumerable<T>XElement berisi elemen yang dipilih.

Contoh

Contoh berikut membuat pohon XML kecil dan menggunakan XPathSelectElements untuk memilih sekumpulan elemen.

                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

Contoh ini menghasilkan output berikut:

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

Keterangan

Meskipun pengurutan koleksi yang dikembalikan tidak ditentukan dalam Rekomendasi XML XPath Language 1.0, metode ekstensi ini mengembalikan simpul dalam urutan dokumen.

Perhatikan bahwa simpul dikembalikan dalam urutan dokumen bahkan saat Anda menggunakan sumbu terbalik, seperti preceding-sibling atau ancestor-or-self.

Berlaku untuk

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs
Sumber:
XNodeNavigator.cs

Memilih kumpulan elemen menggunakan ekspresi XPath, menyelesaikan awalan namespace menggunakan yang ditentukan 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

tempat XNode untuk mengevaluasi ekspresi XPath.

expression
String

String Yang berisi ekspresi XPath.

resolver
IXmlNamespaceResolver

IXmlNamespaceResolver A untuk awalan namespace dalam ekspresi XPath.

Mengembalikan

Salah satunya IEnumerable<T>XElement berisi elemen yang dipilih.

Contoh

Contoh ini membuat pohon XML yang berisi namespace. Ini menggunakan XmlReader untuk membaca dokumen XML. Kemudian mendapatkan XmlNameTable dari XmlReader, dan XmlNamespaceManager dari XmlNameTable. Ini menggunakan XmlNamespaceManager saat memilih daftar elemen.

                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

Contoh ini menghasilkan output berikut:

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

Keterangan

Anda dapat menggunakan metode ini untuk mengevaluasi ekspresi XPath yang berisi awalan namespace.

Meskipun pengurutan koleksi yang dikembalikan tidak ditentukan dalam Rekomendasi XML XPath Language 1.0, metode ekstensi ini mengembalikan simpul dalam urutan dokumen.

Perhatikan bahwa simpul dikembalikan dalam urutan dokumen bahkan saat Anda menggunakan sumbu terbalik, seperti preceding-sibling atau ancestor-or-self.

Berlaku untuk