Hallo Leute,
habe da mal wieder ein kleines Problem:
Ich arbeite mit JDom (1.1.2) und versuche ein HTML File zu laden um es weiter zu bearbeiten.
Das HTML File ist ganz simpel:
Das versuche ich mit einem SAXBuilder zu laden, bei meinen normalen XML Files funktioniert das auch super. Nur beim HTML-File hängt sich das Teil auf. Kanns leider nicht genauer beschreiben, das Programm bricht nicht ab, aber es tut sich gar nichts mehr.
Mein Code sieht folgendermaßen aus:
Beim HTML File bleibt er dann zwischen checkpoint b und c stehen, da rührt sich einfach nix.
Das File an sich wird korrekt geladen, habe ich schon überprüft.
Was könnte da die Ursache sein? Habe schon versucht mich mit dem Debugger durchzuwühlen, aber das hat mir nicht viel gebracht. Er bleibt genau in der Datei XMLDocumentFragmentScannerImpl in der do-while Schleife bei event.next() hängen, da sagt mir der Debugger dass event in dem Kontext ne unbekannte Variable ist. (Keine Ahnung wie viel ich darauf geben kann)
Reicht euch das soweit an Informationen? Oder isses gar nicht so kompliziert und der kann einfach keine HTML Dateien parsen? XHTML ist ja im Grunde auch nur XML (korrigiert mich bitte falls ich falsch liege)
Hoffe ihr habt einen Rat für mich.
Danke im voraus.
habe da mal wieder ein kleines Problem:
Ich arbeite mit JDom (1.1.2) und versuche ein HTML File zu laden um es weiter zu bearbeiten.
Das HTML File ist ganz simpel:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body></body>
</html>
Das versuche ich mit einem SAXBuilder zu laden, bei meinen normalen XML Files funktioniert das auch super. Nur beim HTML-File hängt sich das Teil auf. Kanns leider nicht genauer beschreiben, das Programm bricht nicht ab, aber es tut sich gar nichts mehr.
Mein Code sieht folgendermaßen aus:
Java:
public String loadFile(String xmlh_path) {
String xmlh_id = "";
Document xmlh_doc = null;
System.out.println("checkpoint a");
System.out.println("path: " + xmlh_path);
try {
File f = new File(xmlh_path);
System.out.println("checkpoint b");
xmlh_doc = new SAXBuilder(false).build(f);
System.out.println("checkpoint c");
if (xmlh_doc.getRootElement() == null) {
System.out.println("error building file, " + xmlh_path);
} else {
System.out.println("checkpoint d");
xmlh_id = String.valueOf(xmlh_doc.hashCode());
this.docColl.put(xmlh_id, xmlh_doc);
}
return xmlh_id;
} catch (JDOMException ex) {
Logger.getLogger(XMLHandler.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(XMLHandler.class.getName()).log(Level.SEVERE, null, ex);
}
return xmlh_id;
}
Beim HTML File bleibt er dann zwischen checkpoint b und c stehen, da rührt sich einfach nix.
Das File an sich wird korrekt geladen, habe ich schon überprüft.
Was könnte da die Ursache sein? Habe schon versucht mich mit dem Debugger durchzuwühlen, aber das hat mir nicht viel gebracht. Er bleibt genau in der Datei XMLDocumentFragmentScannerImpl in der do-while Schleife bei event.next() hängen, da sagt mir der Debugger dass event in dem Kontext ne unbekannte Variable ist. (Keine Ahnung wie viel ich darauf geben kann)
Reicht euch das soweit an Informationen? Oder isses gar nicht so kompliziert und der kann einfach keine HTML Dateien parsen? XHTML ist ja im Grunde auch nur XML (korrigiert mich bitte falls ich falsch liege)
Hoffe ihr habt einen Rat für mich.
Danke im voraus.