Как установить StreamSource.setReader() с пользовательским EntityResolver в XMLReader

Мне нужно получить StreamSource из моего XML-файла, однако мне также нужно использовать пользовательский EntityResolver.

У меня проблема в том, что я не могу понять, как получить XMLReader в мой источник потока.

Я делаю следующее: (документ является InputStream)

XMLReader reader = XMLReaderFactory.createXMLReader();
StreamSource doc_source = new StreamSource(doc);
reader.setEntityResolver(new PsudoEntityResolver());
doc_source.setReader(reader);

Очевидно, это не работает, потому что setReader () принимает Reader в качестве аргумента, а не XMLReader.

Любые идеи, как я могу обойти это.

1 ответ

Используйте ваш XMLReader, установите распознаватель сущностей таким, какой вы есть, но затем вызовите:

reader.parse(new InputSource(doc));
Другие вопросы по тегам