指定した XPath 式を使用して、ノード セットを選択します。
オーバーロードの一覧
指定した XPath 式を使用して、ノード セットを選択します。
[Visual Basic] Overloads Public Overridable Function Select(String) As XPathNodeIterator
[JScript] public function Select(String) : XPathNodeIterator;
指定した XPathExpression を使用して、ノード セットを選択します。
[Visual Basic] Overloads Public Overridable Function Select(XPathExpression) As XPathNodeIterator
[C#] public virtual XPathNodeIterator Select(XPathExpression);
[C++] public: virtual XPathNodeIterator* Select(XPathExpression*);
[JScript] public function Select(XPathExpression) : XPathNodeIterator;
使用例
[Visual Basic, C#, C++] Jane Austen の著書をすべて選択し、タイトル順に並べ替える例を次に示します。
[Visual Basic, C#, C++] メモ ここでは、Select のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。
Imports System
Imports System.IO
Imports System.Xml
Imports System.Xml.XPath
public class Sample
public shared sub Main()
Dim doc as XPathDocument = new XPathDocument("booksort.xml")
Dim nav as XPathNavigator = doc.CreateNavigator()
'Select all books by Jane Austen.
Dim expr as XPathExpression
expr = nav.Compile("descendant::book[author/last-name='Austen']")
'Sort the selected books by title.
expr.AddSort("title", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text)
'Display the selection.
Dim iterator as XPathNodeIterator = nav.Select(expr)
while (iterator.MoveNext())
Dim nav2 as XPathNavigator = iterator.Current.Clone()
nav2.MoveToFirstChild()
Console.WriteLine("Book title: {0}", nav2.Value)
end while
end sub
end class
[C#]
using System;
using System.IO;
using System.Xml;
using System.Xml.XPath;
public class Sample
{
public static void Main()
{
XPathDocument doc = new XPathDocument("booksort.xml");
XPathNavigator nav = doc.CreateNavigator();
//Select all books by Jane Austen.
XPathExpression expr;
expr = nav.Compile("descendant::book[author/last-name='Austen']");
//Sort the selected books by title.
expr.AddSort("title", XmlSortOrder.Ascending, XmlCaseOrder.None, "", XmlDataType.Text);
//Display the selection.
XPathNodeIterator iterator = nav.Select(expr);
while (iterator.MoveNext()){
XPathNavigator nav2 = iterator.Current.Clone();
nav2.MoveToFirstChild();
Console.WriteLine("Book title: {0}", nav2.Value);
}
}
}
[C++]
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::XPath;
int main()
{
XPathDocument* doc = new XPathDocument(S"booksort.xml");
XPathNavigator* nav = doc->CreateNavigator();
//Select all books by Jane Austen.
XPathExpression* expr;
expr = nav->Compile(S"descendant::book[author/last-name='Austen']");
//Sort the selected books by title.
expr->AddSort(S"title", XmlSortOrder::Ascending, XmlCaseOrder::None, S"", XmlDataType::Text);
//Display the selection.
XPathNodeIterator* iterator = nav->Select(expr);
while (iterator->MoveNext()){
XPathNavigator* nav2 = iterator->Current->Clone();
nav2->MoveToFirstChild();
Console::WriteLine(S"Book title: {0}", nav2->Value);
}
}
[Visual Basic, C#, C++] この例では、入力として、 booksort.xml というファイルを使用しています。
<?xml version="1.0"?>
<!-- a fragment of a book store inventory database -->
<bookstore xmlns:bk="urn:samples">
<book genre="novel" publicationdate="1997" bk:ISBN="1-861001-57-8">
<title>Pride And Prejudice</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>24.95</price>
</book>
<book genre="novel" publicationdate="1992" bk:ISBN="1-861002-30-1">
<title>The Handmaid's Tale</title>
<author>
<first-name>Margaret</first-name>
<last-name>Atwood</last-name>
</author>
<price>29.95</price>
</book>
<book genre="novel" publicationdate="1991" bk:ISBN="1-861001-57-6">
<title>Emma</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>19.95</price>
</book>
<book genre="novel" publicationdate="1982" bk:ISBN="1-861001-45-3">
<title>Sense and Sensibility</title>
<author>
<first-name>Jane</first-name>
<last-name>Austen</last-name>
</author>
<price>19.95</price>
</book>
</bookstore>
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
参照
XPathNavigator クラス | XPathNavigator メンバ | System.Xml.XPath 名前空間