<?xml version="1.0" encoding="utf-8" ?>
<menu>
<group Text="Group1">
<item Text="Menu1" />
<item Text="Menu2" Authenticated="0" />
<item Text="Menu3" />
</group>
<group Text="Group2" Authenticated="1">
<item Text="Menu4" />
<item Text="Menu5" />
<item Text="Menu6" />
</group>
<group Text="Group3" Authenticated="0">
<item Text="Menu7" />
<item Text="Menu8" />
<item Text="Menu9" />
</group>
</menu>
On the above xml I want to return all the group elements with their child nodes (item elements) but not those that have the attribute Authenticated equal to '0'
The result should be like this:
<group Text="Group1">
<item Text="Menu1" />
<item Text="Menu3" />
</group>
<group Text="Group2" Authenticated="1">
<item Text="Menu4" />
<item Text="Menu5" />
<item Text="Menu6" />
</group>
*Edit: I have tried the following xpath
/menu/group[not(@Authenticated) or @Authenticated = '1'][item[not(@Authenticated) or @Authenticated = '1']]
but it returns the element
<item Text="Menu2" Authenticated="0" />
which I don't want in the result.
SimpleXMLElement::xpath. Could you add it to your question? - A. Rodas