Problem mit XPath

Status
Nicht offen für weitere Antworten.

skelle

Mitglied
Hallo,
ich bin gerade dabei eine XML mittelns XPath auszuwerten komme jedoch grad nicht weiter

die xml datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Kategorie name="kopf"/>
    <Test name="Drehen"/>
        <Baustein name="Winkel"/>
        <Baustein name="Schmerz"/>
    <Test name="Neigen"/>
        <Baustein name="Winkel"/>
        <Baustein name="Schmerz"/>
<Kategorie name="Fuss"/>
    <Test name="Ausdauer"/>
        <Baustein name="Dauer"/>
        <Baustein name="Tempo"/>
    <Test name="Refelex"/>
        <Baustein name="Tempo"/>
        <Baustein name="Stärke"/>
</root>

Code:
String path = "/root/Kategorie[@name='kopf']//Test";

liefert mir keiner Ergebnis

wenn ich jedoch schreibe
Code:
[String path = "/root//Test";

klappt die ganze sache allergins bekomm ich dann zuviele test elemente zurück ...

nach einigem probieren ist mir aufgefallen das eig kein path mehr geht sobald ich 3 Elemente in dem Path drin habe daran dürfte es aber eig nicht liegen oder?
 
oh man, bist du dir sicher das dein xml passt?
Versuchs mal damit, der xpath stimmt ja ansonsten.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Kategorie name="kopf">
    <Test name="Drehen">
        <Baustein name="Winkel"/>
        <Baustein name="Schmerz"/>
    </Test>
    <Test name="Neigen">
        <Baustein name="Winkel"/>
        <Baustein name="Schmerz"/>
        </Test>
  </Kategorie>
  <Kategorie name="Fuss">
    <Test name="Ausdauer">
        <Baustein name="Dauer"/>
        <Baustein name="Tempo"/>
    </Test>
    <Test name="Refelex">
        <Baustein name="Tempo"/>
        <Baustein name="Stärke"/>
    </Test>
  </Kategorie>
</root>

Komische Klammern machen noch lange kein vernünftiges xml.
 
Dein XML war falsch - Du hast zwar Einrückungen gesetzt, aus denen man erkennt, dass Baustein ein Element innerhalb von Test und Test ein Element innerhalb von Kategorie sein soll - die Tags sind aber so gesetzt, dass alle Elemente direkte Kind-Elemente von root sind.

Mit der Version von klauskarambulut sollte es passen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben