テキストを含む要素のみを返し、その親を返さないXPath
2023-08-21 08:35:18
質問
このxmlの中で、「match」を含む要素(random2要素)をマッチングさせたい。
<root>
<random1>
<random2>match</random2>
<random3>nomatch</random3>
</random1>
</root>
OK、今のところ私は
//[re:test(.,'match','i')] (with re in the proper namespace)
これは、random2、random1、rootを返します。random2だけを取得したいのですが。
何かいい方法はないでしょうか?
どのように解決するのですか?
を探すのですか? を含む を含む要素を探しますか? と同じ "match"ですか?
これは、'match'と等しいテキストノードを持つ要素を見つけます('match'は
random2
):
//*[text()='match']
これは、"match"と等しいテキストノードを持つすべての要素を、先頭と末尾の空白を取り除いた後で探します(matches
random2
):
//*[normalize-space(text())='match']
これは、テキストノードの値に 'match' を含むすべての要素を探します(matches
random2
と
random3
):
//*[contains(text(),'match')]
これは
XPATH 2.0
ソリューションでは
matches()
関数と、'match' を含み文字列の先頭で始まるテキストノードを探す正規表現パターンを使います(例.
^
など)、あるいは単語境界(つまり
\W
)、文字列の終端(すなわち
$
) または単語境界で終了します。3番目のパラメータ
i
は大文字小文字を区別せずに 正規表現パターンを評価します。(マッチする
random2
)
//*[matches(text(),'(^|\W)match($|\W)','i')]
関連
-
SAXParseException: ルート要素に続くドキュメント内のマークアップは、うまく処理されなければなりません。
-
[解決済み] XMLでタグのブロックをコメントアウトするにはどうすればよいですか?
-
[解決済み] Windowsフォームアプリケーションで、アプリケーションの設定を保存するにはどうすればよいですか?
-
[解決済み] Androidレイアウトのフォルダにサブフォルダを含めることはできますか?
-
[解決済み] XPath contains(text(),'some string') は、複数の Text サブノードを持つノードで使用すると動作しません。
-
[解決済み】XPathで属性ノードの値を抽出する
-
[解決済み】シェルからXPathワンライナーを実行する方法は?
-
[解決済み】JavaでXPathを使ってXMLを読み込む方法
-
[解決済み] XML スキーマ。テキストのみを含む属性を持つ要素?
-
[解決済み] XPATHを使用して、 を含むテキストを検索する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Linearレイアウトでボタンを中央に配置する
-
[解決済み] foo "を含む属性を選択するための正しいXPathは何ですか?
-
[解決済み] Vim で一致する XML タグにジャンプする
-
[解決済み] Eclipse で XML の検証を無効にする
-
[解決済み] XMLで一行だけコメントするにはどうしたらいいですか?
-
[解決済み] 要素名の大文字・小文字の区別は?
-
[解決済み] XMLは大文字と小文字を区別するのですか?
-
[解決済み] Xml 名前空間が xpath を壊している!
-
[解決済み] XSDでelementFormDefaultは何をするのですか?
-
[解決済み] Log4j XML config ファイルを使用して Hibernate ロギングを設定する?