XPath para elementos com atributo diferente ou não existe
Eu tenho o seguinte formato XML:
<test>
<table>
<rows>
<row ID = "1" Name ="A"/>
<row ID = "2" SubID = "1" Name ="B"/>
<row ID = "3" Name ="C"/>
<row ID = "4" SubID = "1" Name ="D"/>
<row ID = "5" Name ="E"/>
<row ID = "4" SubID = "2" Name ="E"/>
</rows>
.
.
</table>
</test>
Gostaria de assumir todas as linhas, exceto as que têmSubID = 1
.
A parte mais difícil disso é que nem todas as linhas têm atributo chamadoSubID
e que nem todas as linhas com o atributoSubID
, tenha o mesmo valor.
A saída ideal deve ser:
<row ID = "1" Name ="A"/>
<row ID = "3" Name ="C"/>
<row ID = "5" Name ="E"/>
<row ID = "4" SubID = "2" Name ="E"/>
Eu tentei usar um XPath com negação de valor, mas isso não funcionará:
/test/table/row/not(@SubID=1)
Qualquer ajuda?