XPathNavigator.Clone メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XPathNavigator.Clone メソッドの意味・解説 

XPathNavigator.Clone メソッド

派生クラスオーバーライドされると、この XPathNavigator と同じノード配置される新しXPathNavigator作成します

名前空間: System.Xml.XPath
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public MustOverride Function
 Clone As XPathNavigator
Dim instance As XPathNavigator
Dim returnValue As XPathNavigator

returnValue = instance.Clone
public abstract XPathNavigator Clone ()
public:
virtual XPathNavigator^ Clone () abstract
public abstract XPathNavigator Clone ()

戻り値
この XPathNavigator と同じノード配置され新しXPathNavigator

解説解説

Clone メソッドは、XPathNodeIterator と組み合わせると特に役立ちますXPathNodeIterator は、選択したノード セット反復処理するために使用します。これには、XPathNodeIteratorコンテキスト ノード配置されXPathNavigator返すCurrent プロパティ含まれています。ただし、Current プロパティ返されXPathNavigator使用してノード セットか移動できません。代わりに返されXPathNavigator複製作成し複製したナビゲータを使用して追加移動処理を行います

クローンXPathNavigator は、元の XPathNavigatorそれ以降変更して影響を受けません。

使用例使用例

Herman Melville著書タイトルをすべて取得する例を次に示します

Dim document As XPathDocument = New
 XPathDocument("books.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

' Select all books authored by Melville.
Dim nodes As XPathNodeIterator = navigator.Select("descendant::book[author/last-name='Melville']")

While nodes.MoveNext()
    ' Clone the navigator returned by the Current property. 
    ' Use the cloned navigator to get the title element.
    Dim clone As XPathNavigator = nodes.Current.Clone()
    clone.MoveToFirstChild()
    Console.WriteLine("Book title: {0}", clone.Value)
End While
XPathDocument document = new XPathDocument("books.xml");
XPathNavigator navigator = document.CreateNavigator();

// Select all books authored by Melville.
XPathNodeIterator nodes = navigator.Select("descendant::book[author/last-name='Melville']");

while (nodes.MoveNext())
{
    // Clone the navigator returned by the Current property. 
    // Use the cloned navigator to get the title element.
    XPathNavigator clone = nodes.Current.Clone();
    clone.MoveToFirstChild();
    Console.WriteLine("Book title: {0}", clone.Value);
}
XPathDocument^ document = gcnew XPathDocument("books.xml");
XPathNavigator^ navigator = document->CreateNavigator();
XPathExpression^ query = 
    navigator->Compile("/bookstore/book");
XPathNodeIterator^ nodes = navigator->Select(query);
XPathNavigator^ nodesNavigator = nodes->Current;
for each(XPathNavigator^ navigator in nodesNavigator->
    SelectDescendants(XPathNodeType::Text, false))
{
    Console::Write(navigator->Name);
    Console::WriteLine(navigator->Value);
}

この例では、入力として、contosoBooks.xml というファイル使用してます。

<bookstore xmlns="http://www.contoso.com/books">
    <book genre="autobiography"
 publicationdate="1981-03-22" ISBN="1-861003-11-0">
        <title>The
 Autobiography of Benjamin Franklin</title>
        <author>
            <first-name>Benjamin</first-name>
            <last-name>Franklin</last-name>
        </author>
        <price>8.99</price>
    </book>
    <book genre="novel" publicationdate="1967-11-17"
 ISBN="0-201-63361-2">
        <title>The
 Confidence Man</title>
        <author>
            <first-name>Herman</first-name>
            <last-name>Melville</last-name>
        </author>
        <price>11.99</price>
    </book>
    <book genre="philosophy"
 publicationdate="1991-02-15" ISBN="1-861001-57-6">
        <title>The
 Gorgias</title>
        <author>
            <name>Plato</name>
        </author>
        <price>9.99</price>
    </book>
</bookstore>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XPathNavigator クラス
XPathNavigator メンバ
System.Xml.XPath 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XPathNavigator.Clone メソッド」の関連用語

XPathNavigator.Clone メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XPathNavigator.Clone メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS