Siri: XPath: Obersten 'ancestor' ermitteln

Hallo,

mal folgendes Beispiel-XML:

  
<a id="1">  
  <a id="2">  
    <a id="3">  
      <a id="4"/>  
      <a id="5"/>  
    </a>  
  </a>  
</a>  

Bei der Verarbeitung stoße ich Beispielsweise auf das Element a mit der id 5 und möchte mit einem XPAth Ausdruck das oberste Elternelement ermitteln (also a mit der id 1).

ancestor::a liefert mir alle Vorfahren a zurück. Wie komme ich an den obersten heran? Geht das?

Danke und Gruß,
Siri

  1. //*[@id="5"]/../../..

  2. Hallo Siri,

    Bei der Verarbeitung stoße ich Beispielsweise auf das Element a mit der id 5 und möchte mit einem XPAth Ausdruck das oberste Elternelement ermitteln (also a mit der id 1).

    ancestor::a liefert mir alle Vorfahren a zurück. Wie komme ich an den obersten heran? Geht das?

    //a[@id='5']/ancestor::a[last()]

    oder allgemeiner

    //a[@id='5']/ancestor::*[last()]

    Grüße,
    Thomas

    1. Hallo Thomas,

      //a[@id='5']/ancestor::a[last()]
      //a[@id='5']/ancestor::*[last()]

      das habe ich gesucht! Vielen Dank!

      Gruß
      Siri