Subject: Re: Return ancestor siblings based on Id
From: António Mota <amsmota@xxxxxxxxx>
Date: Fri, 18 Feb 2005 15:25:53 +0000
|
How about
//tree_node[@id=9]/ancestor::tree_node |
//tree_node[@id=9]following-sibling::tree_node |
//tree_node[@id=9]preceding-sibling::tree_node
On Sat, 19 Feb 2005 01:16:58 +1000, Adam J Knight
<adam@xxxxxxxxxxxxxxxxx> wrote:
> Hi guys,
>
> Another chapter in this tragedy.
>
> Question:
>
> The expression '//tree_node[@id=9]/ancestor::tree_node' returns a nodeset
> containing node with id(7). I have verified this with xpath visualizer.
>
> How do I return the ALL siblings of this node also.
>
> The result being
> Node(id=7)
> Node(id=8) : sibling of Node(id=7)
> Node(id=9) : sibling of Node(id=7)
> Node(id=14) : sibling of Node(id=7)
>
> HELP APPRECIATED!!!!
>
> ALL TO0 FAMILIAR XML STRUCTURE:
> <tree>
> <tree_node id="7" value="Test Level One A">
> <tree_node id="8" value="Test Level Two A"/>
> <tree_node id="9" value="Test Level Two B">
> <tree_node id="11" value="Test Level Three B"/>
> <tree_node id="10" value="Test Level Three A">
> <tree_node id="12" value="Test Level Four A"/>
> <tree_node id="13" value="Test Level Four B"/>
> </tree_node>
> </tree_node>
> <tree_node id="14" value="Test Level Two C"/>
> </tree_node>
> </tree>
|