XPath для элементов с атрибутом не равным или не существует
У меня есть следующий формат 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>
Я хотел бы взять все строки, кроме тех, которые имеютSubID = 1
.
Сложность в том, что не все строки имеют атрибутSubID
и что не все строки с атрибутомSubID
имеют одинаковое значение.
Идеальный результат должен быть:
<row ID = "1" Name ="A"/>
<row ID = "3" Name ="C"/>
<row ID = "5" Name ="E"/>
<row ID = "4" SubID = "2" Name ="E"/>
Я пытался использовать XPath с отрицанием по значению, но это не сработает:
/test/table/row/not(@SubID=1)
Любая помощь?