starts-with() XPath 関数を使用する

この記事では、XPath 関数の starts-with() 使用方法について説明します。

元の製品バージョン: Microsoft XML
元の KB 番号: 303516

概要

これは、Microsoft XML (MSXML) ドキュメント オブジェクト モデル (DOM) を使用して XML ドキュメントを読み込んで解析し、値が特定の文字または文字のシーケンスで始まる属性を持つ要素や要素を識別する場合に、一般的なプログラミング要件です。 この記事には、XML パス言語 (XPath) 文字列関数を使用してこの要件を starts-with 実装する方法を示すコード サンプルが含まれています。

ステップ バイ ステップの例

  1. メモ帳で、Books.xmlという名前の新しい XML ドキュメント 作成し、次の XML を貼り付けます。

    <?xml version="1.0"?>
    <!-- This file represents a fragment of a bookstore inventory database -->
    <bookstore specialty="novel">
        <book style="autobiography">
            <author>
                <first-name>Joe</first-name>
                <last-name>Bob</last-name>
                <award>Trenton Literary Review Honorable Mention</award>
            </author>
            <price>12</price>
        </book>
        <book style="textbook">
            <author>
                <first-name>Mary</first-name>
                <last-name>Bob</last-name>
                <publication>Selected Short Stories of
                    <first-name>Mary</first-name>
                    <last-name>Bob</last-name>
                </publication>
            </author>
            <price>55</price>
        </book>
    </bookstore>
    
  2. Books.xml ドライブ C のルート フォルダーに保存します。

  3. Visual Basic で新しい Standard EXE プロジェクトを開きます。 Form1 は既定で作成されます。

  4. [プロジェクト] メニューの [参照] をクリックし、[Microsoft XML 3.0 チェック] ボックスを選択します。

  5. [コマンド] ボタンをドラッグし、Form1 にドロップします。

  6. コマンド ボタンのイベント プロシージャに次のコードをClickコピーして貼り付けます。

    Dim doc As MSXML2.DOMDocument
    Dim nlist As MSXML2.IXMLDOMNodeList
    Dim node As MSXML2.IXMLDOMNode
    
    Set doc = New MSXML2.DOMDocument
    doc.setProperty "SelectionLanguage", "XPath"
    doc.Load "c:\books.xml"
    Set nlist = doc.selectNodes("//book/author/first-name[starts-with(.,'M')]")
    MsgBox "Matching Nodes : " & nlist.length
    
    For Each node In nlist
    Debug.Print node.nodeName & " : " & node.Text
    Next
    
  7. 上記のコードでは、 Books.xml から MSXML DOMDocument オブジェクトのインスタンスに XML を読み込みます。 次に、XPath 関数を使用 starts-with して、名が文字 M で始まるすべての作成者を識別する XPath クエリを実行します。最後に、For ループは選択したノードを反復処理し、一致する作成者要素の名を表示します。

  8. XPath 関数の starts-with 最初のパラメーターを使用して、比較を実行するソース ノードまたは文字列を指定します。 2 番目のパラメーターは、比較で使用する文字または文字シーケンスを指定するパターン文字列です。 関数の 2 番目のパラメーター starts-with として指定されるパターン文字列では、大文字と小文字が区別されます。