Turgar: xml und xpath: bestimmte Knoten selektieren

Hallo,

ich habe hier folgendes Problem:
Geben ist eine xml-Datei, an die ich mittels xpath "Anfragen" stellen soll...

Zum Beispiel sollen alle direkten Nachkommen von "Eve" bestimmt werden.

Hier die xml dazu:

  
<?xml version="1.0" encoding="iso-8859-1"?>  
<RINDER xmlns:xsi="http://www.w3.org/2001U/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Namen.xsd">  
 <GENERATION-EINS>  
  <TIER>Eve</TIER>  
    <GENERATION-ZWEI>  
   <TIER>Betsy</TIER>  
   <GENERATION-DREI>  
    <TIER>Novi</TIER>  
    <TIER>Ginny</TIER>  
    <GENERATION-VIER>  
     <TIER>Suzy</TIER>  
     <GENERATION-FUENF>  
      <TIER>Della</TIER>  
     </GENERATION-FUENF>  
     <TIER>Ruth</TIER>  
    </GENERATION-VIER>  
    <TIER>Teddi</TIER>  
   </GENERATION-DREI>  
   <TIER>Poco</TIER>  
   <TIER>Greta</TIER>  
   <TIER>Mandy</TIER>  
   <GENERATION-DREI>  
    <TIER>Paula</TIER>  
    <TIER>Duke</TIER>  
   </GENERATION-DREI>  
   <TIER>Cindy</TIER>  
  </GENERATION-ZWEI>  
 </GENERATION-EINS>  
</RINDER>  

Laut dem was ich bei wikipedia etc gelesen habe, sollte mich
"/RINDER/GENERATION-EINS[TIER = 'Eve']" zum Ziel führen.

Allerdings erhalte ich bei meiner Anfrage den gesamten Baum, also von Eve bis zum letzen Nachkommen alle Elemente.

Kann mir jemand weiterhelfen?

  1. Hellihello

    https://forum.selfhtml.org/?t=173436&m=1138762 und mal den verwandten Code posten.

    dein Tier mit Namens Eve ist übrigens ein Element ohne Kindelemente. Es hat nur "Gewschwister" und "Vorfahren/Eltern", und enthält nur einen Textknoten.

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. Es gibt keinen Quellcode dazu, da es sich um eine xml-Datenbank handelt.
      Dieser werden lediglich xpath-Anfragen übergeben;

      1. Hellihello

        Es gibt keinen Quellcode dazu, da es sich um eine xml-Datenbank handelt.
        Dieser werden lediglich xpath-Anfragen übergeben;

        aha, aber was gibt sie dann zurück, als antwort?

        das zum testen nachzubasteln um via php xpath-anfragen auszuprobieren ist ja (s. link) kein problem, bzw. drei zeilen code...;

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. Für eine Anfrage mit "/RINDER/GENERATION-EINS/GENERATION-ZWEI/GENERATION-DREI/GENERATION-VIER[TIER = 'Suzy']/ancestor-or-self::TIER" erhalte ich beispielsweise ein leeres Ergebnis.

          Meiner Meinung nach sollte in diesem Fall jedoch Suzy und alle TIER-Vorfahren als Ergebnis angezeigt werden.

          1. Hellihello

            Für eine Anfrage mit "/RINDER/GENERATION-EINS/GENERATION-ZWEI/GENERATION-DREI/GENERATION-VIER[TIER = 'Suzy']/ancestor-or-self::TIER" erhalte ich beispielsweise ein leeres Ergebnis.

            Meiner Meinung nach sollte in diesem Fall jedoch Suzy und alle TIER-Vorfahren als Ergebnis angezeigt werden.

            kein "//" am Anfang? was liefert "ancestor-or-self::*" ich würde das zum testen in PHP nachbauen...;

            Dank und Gruß,

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt