Problem z parserem DOM

0

Hej,

Chcę za pomocą parsera DOM sparsować dokument np:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE request SYSTEM "request.dtd">
<request>
  <header>
  </header>
  <body>
  </body>
<request>

Jak widać w definicji DOCTYPE nazwa pliku DTD jest bez ścieżki. Teraz jak parsuję ten plik(Fragment kodu):

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
docFactory.setValidating(true);
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document domDocument = docBuilder.parse(input);

To otrzymuję błąd że nie znaleziono pliku request .dtd. Bo plik ten jest pobierany spod lokalizacji gdzie uruchomiono program. Czy da się zrobić aby ustawić parserowi gdzie ten plik się znajduje ?

Pozdrawiam,
kaziuuu

0

Problem rozwiązany jak by kogoś interesowało to należy ustawić SystemId np:

protected Document getResponse(InputStream input) throws SAXException, IOException {
	try {
		InputSource inputSrc = new InputSource(input);
		inputSrc.setSystemId(config.getResponseDtd());
		Document domDocument = docBuilder.parse(inputSrc);
		return domDocument;
	} finally {
		input.close();
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1