XPathを使用して、属性のないノードを選択する方法(属性数= 0の場合)XPath:属性のないノードを選択するには?
例えば:
<nodes>
<node attribute1="aaaa"></node>
<node attribute1="bbbb"></node>
<node></node> <- FIND THIS
</nodes>
XPathを使用して、属性のないノードを選択する方法(属性数= 0の場合)XPath:属性のないノードを選択するには?
例えば:
<nodes>
<node attribute1="aaaa"></node>
<node attribute1="bbbb"></node>
<node></node> <- FIND THIS
</nodes>
//node[not(@*)]
属性すべて<ノードを選択します。マレクCzaplickiさんのコメントに対処し、答え
//node[not(@*) or not(string-length(@*))]
を拡大する
//node[count(@*)=0]
はゼロと>が属性せずに文書で "ノード" という名前のすべてのノードを選択するために、XPathをだ
は....ゼロ属性を持つすべてのノードの要素を選択するか、すべての空の属性を持っているでしょう。それはむしろ、それらのすべてよりも、あなたが興味を持っているだけで、特定の属性であった場合は、
//node[not(@attribute1) or not(string-length(@attribute1))]
を使用することができます...と、これはどちらかの属性がattribute1
と呼ばれるORていないすべてのノードの要素を選択することになりますそれらは空のattribute1
属性を持ちます。ある
は、次の要素は、これらのXPath式
<nodes>
<node attribute1="aaaa"></node>
<node attribute1=""></node> <!--This one -->
<node attribute1="bbbb"></node>
<node></node> <!--...and this one -->
</nodes>
+1のいずれかによって取り出されたことだろう - それは、より多くのXPath-yのソリューションです。 :) – Tomalak
これはいいですが、それでも ' "それについて何かできることはありますか? –
@MarekCzaplickiこのケースに対処するには、以下の回答を参照してください。 https://stackoverflow.com/questions/1323755/xpath-how-to-select-nodes-which-have-no-attributes/43910689#43910689 – pip