2009-09-01 32 views
1

現在のノードを選択して、<name>[./name]という要素を探し、テキストの内容を返したいとします。要素<name>が現在選択されているノードに存在しない場合は、親要素[./parent::name]などを確認し、ルートまで再帰的にチェックして、要素が存在する最も近い親の値を返します。XPath:再帰的祖先検索

XPathで行うことはできますか?

答えて

6

(編集:私は質問を誤解初めて)

私はこれがそうで自己、親をはじめ、すべての nameの要素を見つけ、

ancestor-or-self::name[1] 

を使用することを提案

、および受注それらを自己からの距離が広がります。したがって、[1]を選択すると、最も近いものが得られます。

+0

私は 'ancestor-or-self :: name [1]'(彼は 'parent :: name'を提案しているので)と信じています。 – Tomalak

+0

ああ、ありがとう - 私は質問に一致するように私の応答を書き直しました。 –

+0

あなたの元の応答に基づいて私は祖先 - または - 自己:: * [名前] [1] /名前を使用しました。違いはありますか?どちらが好ましいですか? – djskinner

関連する問題