# Zwei XML-Dateien joinen



## Mister-X (25. Aug 2010)

Hallo!
Ich muss im Moment in der Uni so ein Projekt durchführen, wo wir leider keine Datenbanken benutzen dürfen, sondern XML-Dateien für Java verwenden müssen.
Mein Problem liegt darin, wie man zwei XML-Dateien miteinander verknüpfen kann. Mal ein fiktives Beispiel: Ich habe eine Datei, wo alle Professoren in der Uni drinstehen und eine andere Datei mit allen Vorlesungen. In der XML-Datei zu den Professoren steht nur eine ID zu den Vorlesungen drinne. Jetzt möchte ich gerne zu einem Professor all seine Vorlesungen mit dem dazugehörigen Namen ausgeben. Ich müsste also quasi einen Inner Join über die ID herstellen (so würde es man zumindest bei Datenbanken machen). Wie kann man das mit XML machen?


----------



## XHelp (25. Aug 2010)

Du ließt die 1. Datei ein und ziehst on-fly die Daten aus der anderen nach?

```
für jeden prof
  für jede VorlesungsID
    extrahiere Infos zu der ID
```


----------



## Mister-X (25. Aug 2010)

Joa, stimmt. Da hätte man auch selber drauf kommen können. Hab da erst an was vorgefertigtes aus der JDOM-Bibliothek gedacht oder so, aber das gibts ja dann wohl nicht.

Hab dann aber noch ne zweite Frage, bei der es ums Sortieren von XML-Inhalten geht. Muss man mit JDOM echt jede Ebene im XML-Baum durchgehen, die ganzen Daten in irgendwelche Collections abspeichern, um danach mittels Collections.sort() den Inhalt sinnvoll zu sortieren oder geht das irgendwie einfacher?


----------



## fkh (25. Aug 2010)

Hallo,

du könntest auch XQuery nutzen und damit auf die XML-Dateien zugreifen und in ihnen suchen. Wir nutzen hier Saxon Enterprise (kommerziell), aber evtl. gibt es ja auch freie Implementierungen hierzu (XQJ?).

Gruß
fkh


----------

