2012-03-29 11 views
0

Ich habe ein XML-Dokument, das unsere Website-Navigation so etwas wie dies entspricht:XPath Vorfahren

<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> 

Ich brauche eine XPath-Anweisung, dass für eine bestimmte Seite zurück, die alle Vorfahren Elemente (Ordner).

z.B. (funktioniert nicht) ancestor::page[@name='page4']

Es sollte die Vorfahren unabhängig davon zurückgeben, wie tief die Ordner verschachtelt sind.

+0

Bitte beheben, den Titel zu arbeiten, Frage nichts mit 'Preg match' hat. – anubhava

+0

Mein schlechtes - das war für eine vorherige Frage, die ich fast gefragt hätte! –

Antwort

0

Um meine eigene Frage zu beantworten scheint diese erste //page[@name="page1"]/ancestor::*