Hallo zusammen,
Nachdem mir bei meinem letzten Problem so schnell und kompetent geholfen wurde, versuche ich es jetzt nochmal.
Ich arbeite an einem Java-Programm, das XML-Dateien einliest und daraufhin verschiedene Prüfungen durchführt. Das Programm läuft und funktioniert.
Allerdings kann es vorkommen, dass eine XML-Datei einen Doctype-Verweis (dtd) enthält, der einen Internetlink beinhaltet. Wird das Programm dann ausgeführt, ohne dass eine Internetverbindung besteht, „meckert“ der XML-Parser verständlicherweise, dass die dtd-Datei nicht gefunden wird. Bisher kein Problem. In der neuen Programmversion soll dieses „Meckern“ aber abgestellt werden können, sodass die XML-Datei dennoch eingelesen wird und den Prüfungen unterzogen werden kann.
Leider habe ich die dazu nötigen Einstellungen bisher nicht finden können. Derzeit wird die XML-Datei (bzw. entsprechend gegebener XPath-Ausdrücke bestimmte Knoten daraus) über folgenden Code eingelesen:
// XPath-Expression compilieren
synchronized (xPath) {
xPathExpression = xPath.compile(xPathString);
}
// XPath-Ausdruck auf InputSource anwenden
return (NodeList)xPathExpression.evaluate(inputSource, XPathConstants.NODESET);
xPath ist dabei ein javax.xml.xpath.XPath und xPathExpression eine javax.xml.xpath.XPathExpression. Könnt Ihr mir da weiterhelfen? Ich kann auch andere XML-Parser (JDOM, dom4j) nutzen, das lässt sich ja schnell umbauen. Wenn Ihr also „nur“ für einen anderen Parser eine Lösung kennt, bitte her damit…
Ich hoffe, ich habe das Problem klar genug beschrieben und danke schonmal,
Mfg Martin