次の方法で共有


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

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

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

まとめ

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

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

  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. Project メニューの References をクリックし、 Microsoft XML 3.0 チェック ボックスをオンにします。

  5. Command ボタンをドラッグし、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 オブジェクトのインスタンスに XML を読み込みます。 次に、 starts-with XPath 関数を使用して、名が文字 M で始まるすべての作成者を識別する XPath クエリを実行します。最後に、For ループは選択したノードを反復処理し、一致する作成者要素の名を表示します。

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