I have an XML document that matches our site navigation something like this:
<page name="home" url="/" />
<page name="about" url="/about" />
<folder name="folder1">
<page name="page1" url="folder1/page1" />
<page name="page2" url="folder1/page2" />
<folder name="folder2">
<page name="page3" url="folder1/folder2/page3" />
<page name="page4" url="folder1/folder2/page4" />
<folder>
<folder>
I need an xpath statement that for a given page will return all the ancestor elements (folders).
e.g. (doesn’t work) ancestor::page[@name='page4']
It should return the ancestors regardless of how deeply nested the folders are.
To answer my own question this seems to work
//page[@name="page1"]/ancestor::*