[解決済み] XPathによるノードの位置の検索
2023-03-25 23:17:27
質問
XPathを使用してノードの位置を取得する方法を知っている人はいますか?
次のようなxmlがあるとします。
<a>
<b>zyx</b>
<b>wvu</b>
<b>tsr</b>
<b>qpo</b>
</a>
次の xpath クエリを使用して、3番目の <b> ノード (<b>tsr</b>) を選択することができます。
a/b[.='tsr']
それはそれでいいのですが、私は次のことをしたいのです。 を返す のような、そのノードの序列の位置を返したいのです。
a/b[.='tsr']/position()
(ただし、もう少し工夫が必要!)
そんなの可能なの?
編集 : .net 2を使用しているので、xpath 1.0であることを言及するのを忘れていました!
更新 : 最終的に ジェームズ・スラック 's 優れた回答 . 興味のある方のために、私のC#での実装を紹介します。
int position = doc.SelectNodes("a/b[.='tsr']/preceding-sibling::b").Count + 1;
// Check the node actually exists
if (position > 1 || doc.SelectSingleNode("a/b[.='tsr']") != null)
{
Console.WriteLine("Found at position = {0}", position);
}
どのように解決するのですか?
試してみてください。
count(a/b[.='tsr']/preceding-sibling::*)+1.
関連
-
[解決済み] normalize-space(.)とnormalize-space(text())の違いは何ですか?
-
[解決済み] 異なるノードに対する XPath OR 演算子
-
[解決済み] XPath - 値が等しい要素を選択する
-
[解決済み] XPathによる属性の取得
-
[解決済み】XPathを使用して、特定の属性を持つ最初の要素を選択する方法
-
[解決済み] XPath contains(text(),'some string') は、複数の Text サブノードを持つノードで使用すると動作しません。
-
[解決済み】XPathで属性ノードの値を抽出する
-
[解決済み】XPathでノードが存在するかどうかを確認する
-
[解決済み] SeleniumでXpathのノードセットから指定されたノードをインデックスで選択するには?
-
[解決済み] ノードの値が数値かどうかの 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] XPathでnot contains()を使うには?
-
[解決済み] エンベロープスキーマを使用したxmlDisassemblerでのデバッチが、空のメッセージで失敗する。
-
[解決済み] XPath - 値が等しい要素を選択する
-
[解決済み】XPathを使用して、特定の属性を持つ最初の要素を選択する方法
-
[解決済み】XPath:その値に基づいて要素を選択するには?
-
[解決済み] XPathを使って任意の深さの子要素を選択するにはどうすればよいですか?
-
[解決済み] XPath: 属性を持たないノードを選択するには?
-
[解決済み] SeleniumでXpathのノードセットから指定されたノードをインデックスで選択するには?
-
[解決済み] idやclassを持たない要素を検索するXPath
-
[解決済み] ノードの値が数値かどうかの XPath テスト