# XPath-Query



## dasti (5. Jun 2012)

ich brauche xpath-abfragen, um Teile aus beliebigen xml Dokumenten zu adressieren.

1. alle Elemente namens 'book', unabh. von der Position = _ ../book/.._

2. alle Elemente 'id', deren Elternelement 'parent' ist, wobei das element parent irgendwo unterhalb des elements 'catalog' ist = _catalog//parent/@id_

3.  Anzahl der Attributen 'name', die Kindelemente von 'title' sind = _count(title/@name)_

4. textinhalte von Elementen 'text' (ohne Duplikate) =  

5. alle Elemente die genau 2 Attribute besitzen =

6. Fünftes element vom typ 'category', welches direktes Kind von Element 'catalog' ist = _catalog/category[5]_

7. alle Elemente, die ein Atribut namens 'number' besitzen, das mit gleichem wert ebenfalls im Elternelement ist = 

Meine Lösungen habe dazugeschrieben. Kann die mir bitte jmd. bestätigen und Tipps für den Rest geben?


----------



## z-mon (6. Jun 2012)

Hallo dasti,

hast du schon einmal darüber nachgedacht die XML Dateien in Java Objekte zu wandeln und anschließend mit pure Java weiter zu arbeiten?

Wenn dir die Schmemadatei (XSD) vorliegt, kannst du hieraus ohne große Probleme deine Java Klassen generieren. Via JAXB liest du anschließend die XML Datei ein und ver- oder bearbeitest diese.

Tip: Sollte die keine XSD Datei vorliegen, kannst du auch mit Hilfe der XML Datei eine erstellen.

Folgende Tutorials könnten dir bei deinem Problem weiter helfen:
XSD Datei aus XML Datei generieren
JAXB Tutorial

und ggf noch
Java und XML Tutorial, wenn du direkt mit der XML Datei arbeiten möchtest.

Grüße


----------



## Gast2 (6. Jun 2012)

Lade dir den XPath Visualizer runter, lade deine XML Datei und prüfe ob deine Lösungen richtig sind.


----------

