[解決済み] XPathを使って任意の深さの子要素を選択するにはどうすればよいですか?
2022-07-11 19:36:54
質問
次のようなものがあるとします(簡略化)。
<form id="myform">
<!-- some input fields -->
<input type="submit" value="proceed"/>
</form>
次に、XPathによって送信ボタンを選択することができます。
//form[@id='myform']/input[@type='submit']
. 素晴らしい。
しかし、私のテンプレートは変わるかもしれませんし、送信ボタンが配置される深さには柔軟性を持たせたいと思います。このようにテーブルの中に入れるかもしれません。
<form id="myform">
<!-- some input fields -->
<table><tr><td>
<input type="submit" value="proceed"/>
</td></tr></table>
</form>
孫にあたる要素を選択できることは知っていますが、どの深さの孫も選択することはできません。例えば
-
//form[@id='myform']/*/input[@type='submit']
は孫を選択するだけで、それ以上の深さはありません。 -
//form[@id='myform']/*/*/input[@type='submit']
は grand-grand-children のみを選択し、それ以上の深さは選択しません。 -
//form[@id='myform']/**/input[@type='submit']
は有効ではありません。
では、要素IDを使わずにこの送信ボタンを確実に選択するにはどうすればよいのでしょうか?
どのように解決するのですか?
もうすぐです。単に使用するだけです。
//form[@id='myform']//input[@type='submit']
は
//
のショートカットも式の中で使うことができます。
関連
-
[解決済み] normalize-space(.)とnormalize-space(text())の違いは何ですか?
-
[解決済み] XPathによる属性の取得
-
[解決済み] XPathでCSSクラスを指定して要素を検索するにはどうすればよいですか?
-
[解決済み】XPathを使用して、特定の属性を持つ最初の要素を選択する方法
-
[解決済み】XPathで子の子値を元に要素を選択する方法
-
[解決済み】XPath:子ノードから親ノードを取得する
-
[解決済み】JavaでXPathを使ってXMLを読み込む方法
-
[解決済み】XPath:その値に基づいて要素を選択するには?
-
[解決済み] 属性値で要素を選択するXPath
-
[解決済み] XPath: select text node
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] XPathでnot contains()を使うには?
-
[解決済み] エンベロープスキーマを使用したxmlDisassemblerでのデバッチが、空のメッセージで失敗する。
-
[解決済み] normalize-space(.)とnormalize-space(text())の違いは何ですか?
-
[解決済み] 異なるノードに対する XPath OR 演算子
-
[解決済み] XPath - 値が等しい要素を選択する
-
[解決済み] Xpath: クラスを含み、かつ特定の子要素がテキストを含む div を選択する。
-
[解決済み] XPath contains(text(),'some string') は、複数の Text サブノードを持つノードで使用すると動作しません。