/ JAVA, Einbinden der DTD
c300
- xml
Nabend
Ich versuche innerhab eines Servlets eine XML-Datei zu parsen. Dies scheitert jeweils, da der Parser eine FileNotFoundException wirft.
Meine DTD liegt im selben Verzeichnis wie die XML-Datei ansich. Kann mir jemand sagen, was ich falsch mache?
Relevantes XML:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE katalog SYSTEM "file:///katalog.dtd">
Danke und Gruss
Hallo,
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE katalog SYSTEM "file:///katalog.dtd">
.............................^^^^^^^^
Mach das "file:///" weg, dann sollte es tun.
Gruß
Slyh
Hallo Slyh
Das hatte ich schon versucht, dann gibts ne MalFormedURLException. Ich habs jetzt anders gelöst und verwende eine interne DTD, das gefällt mir zwar nicht, aber da die DTD sowieso nur für ein einzelnes XML verwendet wird, und dieses zudem nicht sehr komplex ist, ist es nicht so tragisch.
Danke und Gruss
Hallo,
Das hatte ich schon versucht, dann gibts ne MalFormedURLException.
Huh? Also, das sollte schon so gehen. Hier geht das zumindest so. :-)
Welche Klassen zum Einlesen der XML-Daten verwendest du denn?
Ich habs jetzt anders gelöst und verwende eine interne DTD, das gefällt mir zwar nicht, aber da die DTD sowieso nur für ein einzelnes XML verwendet wird, und dieses zudem nicht sehr komplex ist, ist es nicht so tragisch.
Ja. Aber anders wär's ja schon schöner, denke ich...
Gruß
Slyh
Hallo,
Ich verwende die Klassen aus javax.xml.parsers
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
dbf.setValidating(true);
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(xmlFile);
Gruss