Mit JDOM Parsen der XML-Datei mit dem externen DTD, die nicht deklariert wurde in der XML-Datei

In meiner XML-Datei habe ich einige Entitäten wie ’

Also habe ich eine DTD-tag für mein XML-Dokument zur Definition dieser Entitäten. Nachfolgend ist der Java-code zum Lesen der XML-Datei.

SAXBuilder builder = new SAXBuilder();
URL url = new URL("http://127.0.0.1:8080/sample/subject.xml");        
InputStream stream = url.openStream();
org.jdom.Document document = builder.build(stream);

Element root = document.getRootElement();

Element name = root.getChild("name");
result = name.getText();
System.err.println(result);

Wie kann ich den Java-code zum abrufen einer DTD über HTTP zu erlauben, die Parsen meiner XML-Dokument fehlerfrei?

Vereinfachtes Beispiel des xml-Dokuments.


<main>
  <name>hello &lsquo; world &rsquo; foo  &amp; bar </name> 
</main>
  • Entitäten müssen deklariert werden, bevor Sie verwendet werden können. Wenn Sie mithilfe von entity-Referenzen, die nicht erklärt worden sind(entweder in der Datei oder mit einer Referenz auf eine externe DTD), Sie haben eine ungültige XML-Datei.
  • In der Tat. Mein problem ist die Injektion der Pfad zu meiner DTD in das xml zur Laufzeit, da die dtd ist nicht referenziert wird innerhalb des xml-Dokuments. Die DTD befindet sich auf einem remote-server, erreichbar über http.
InformationsquelleAutor anonymous | 2011-01-24
Schreibe einen Kommentar