Моя структура XML выглядит следующим образом:
<entity id="1000070">
<name>apple</name>
<type>category</type>
<entities>
<entity id="7002870">
<name>mac</name>
<type>category</type>
<entities>
<entity id="7002907">
<name>leopard</name>
<type>sub-category</type>
<entities>
<entity id="7024080">
<name>safari</name>
<type>subject</type>
</entity>
<entity id="7024701">
<name>finder</name>
<type>subject</type>
</entity>
</entities>
</entity>
</entities>
</entity>
<entity id="7024080">
<name>iphone</name>
<type>category</type>
<entities>
<entity id="7024080">
<name>3g</name>
<type>sub-category</type>
</entity>
<entity id="7024701">
<name>3gs</name>
<type>sub-category</type>
</entity>
</entities>
</entity>
<entity id="7024080">
<name>ipad</name>
<type>category</type>
</entity>
</entities>
</entity>
В настоящее время я выбрал все объекты с типом узла, который не является категорией.
$ xmlDocument-> removeNodes ( "// объект [нет (тип = 'категория')]")
Мне интересно, как я мог бы выбрать все узлы, которые не содержат тип = категория ИЛИ тип = подкатегория.
Я пытался с:
$xmlDocument->removeNodes("//entity[not(type='category')] | //entity[not(type='sub-category')]")
но это не работает!