1. ホーム
  2. xpath

[解決済み】XPath:その値に基づいて要素を選択するには?

2022-04-21 11:52:37

質問

XPathを使うのは初めてで、基本的な質問かもしれませんが、よろしくお願いします。この問題を解決するために、どうかご協力をお願いします。このようなXMLファイルを持っています。

<RootNode>
  <FirstChild>
    <Element attribute1="abc" attribute2="xyz">Data</Element>
  <FirstChild>
</RootNode>

があることを検証することができますね。 <Element> というタグがあります。

//要素[@attribute1="abc" および @attribute2="xyz"] を指定します。

今度は、タグの値を文字列でチェックしたい。 "Data" . これを実現するために、私は使用するように言われました。

//要素[@attribute1="abc" と @attribute2="xyz" とデータ] を作成します。

後の式を使用すると、以下のエラーが発生します。

アサーション失敗のメッセージです。No Nodes Matched //Element[@attribute1="abc" and @attribute2="xyz" and Data]

私が使用したXPath式が有効であるかどうか、アドバイスをお願いします。そうでない場合、有効なXPath式は何でしょうか?

解決方法は?

以下のような条件です。

//Element[@attribute1="abc" and @attribute2="xyz" and Data]

は、Element内のDataという要素の存在をチェックし、Dataという要素の値についてはチェックしません。

代わりに

//Element[@attribute1="abc" and @attribute2="xyz" and text()="Data"]