2012-03-23 23 views
0

私は助けを求めることを控えてみましたが、十分でした!私はノードの子要素を取得しようとしています。すべて特定のIDを持つものを除きます。これはこれまで私が持っているものです。XPath - 特定のIDを持たない子要素を取得

//*[@id='a']/*[@id!='b'] 

ある程度は機能します。これは、 'b'のidを持たない 'a'のすべての子要素を取得しますが、id属性を持つかどうかに関係なく、すべての子要素を取得します。

アイデア?

+0

@Philは既に解決策を与えているが、あなたの表現は、あなたが意図したものという意味ではありません、なぜそれは注目におそらく価値があります。 xパスで '!='を使用する最も簡単な規則は、それを使用しないことです。意図したことをめったに意味しません。中置条件_all_には暗黙の_exists_量があるので、 '@id!= 'b''は" id属性が' b 'と等しくないことを意味します。 'not(@ id = 'b')'は、 'b'に等しいid属性が存在しないことを意味します。 –

+0

ダビッドありがとう、私はそれを知らなかった。私はXPathを使用することに比較的慣れていません。 – TheBoss

答えて

2

not()使用してみてください、例えば

//*[@id="a"]/*[not(@id="b")] 
+0

ありがとう、それは完全に動作します! – TheBoss

関連する問題