# XML und Root Verzeichnis



## AndreasVolt (20. Apr 2009)

Tach auch

kleines Problemchen. Ich verwende für XML JAXB2.1 (ist in NetBean vorhanden) und habs mitlerweilen geschafft, dass ich XML Dateien Lesen kann und auch demsnetsprechend die Werte in der XML Ausgeben könnte (Debugger). Mein Problem ist nun, dass die gesammte verarbeitung der XML in einer Bibliothek drin ist, welche später in einer Web Applikation hinzugefügt werden sollte.

Ich kann nun nicht auf das Schema und die XML Datei zugreifen, beziehnungsweise die Bibliothek findet die Dateien nicht innerhalb des Web Projektes und gibt mir somit immer Null zurück.

Gibt es eine Möglichkeit Dynamisch zu sagen in welchem Verzeichnis sich die Applikation befindet um so auch noch das Verzeichnis an zu hängen wo sich die XML befindet? Beispielsweise in der Webapplikation selber oder in der Bibliothek (was mir lieber wäre).

Sowas in der art wie es in .Net möglich ist: string 
xmlFile = HostingEnvironment.ApplicationPhysicalPath + "\\App_Data\\metaData.xml";

Gruss Andreas


----------



## maki (20. Apr 2009)

ServletContext hat eine Methode getRealPath: ServletContext (Java EE 5))

MIt getRealPath("/") bekommst du das Verzeichnis der Webapp.

Das ist ok solange du nur auf der XML Datei lesen willst, bneim schreiben wirst du bald Probleme bekommen wenn sich die Datei im Webapp Verzeichnis befindet.


----------



## AndreasVolt (20. Apr 2009)

Danke werde es versuchen.

Sie muss nur gelesen werden, mehr nicht.

Jedoch würde mich doch interessieren, in welches Verzeichnis eine XML Datei kommen sollte um sie auch Verarbeiten zu können?


----------



## AndreasVolt (20. Apr 2009)

So ganz möchte das nicht wirklich gehen...
Vorallem hab ich laut Doku gelesen, dass es nicht nur das Verzeichnis sondern auch die Dateien ausliest, ich bräuchte jedoch nur das Root Verzeichnis und mehr nicht. Oder hab ich mich da eventuell verlesen...?


----------



## maki (20. Apr 2009)

> Vorallem hab ich laut Doku gelesen, dass es nicht nur das Verzeichnis sondern auch die Dateien ausliest, ich bräuchte jedoch nur das Root Verzeichnis und mehr nicht.


Hast du mein Beispiel gesehen? 

Habe den Thread ins passende Forum verschoben, denn hierbei geht es nicht wirklich um XML.


----------



## AndreasVolt (21. Apr 2009)

ups..  dan heisst es bei getRealPath("/") wird das verzeichnis zurück gegeben ohne den dateien?
hab noch bisschen mühe mit den web anwendungen, ist bisschen komplizierter als in anderen sprachen


----------



## maki (21. Apr 2009)

getRealPath gibt immer den Pfad zu einer Ressource zurück, wenn es sich bei der Ressource um einVerzeichnis handelt bekommst den Pfad zu einem Verzeichnis, wenn es sich um eine Datei handelt bekommst du den Pfad zu einer Datei.

Nebenbei bemerkt, wenn deine XML Datei im Classpath steht, solltest du sie dir als Stream geben lassen, ist die sauberste Lösung und funzt immer.


----------

