В настоящее время я анализирую сообщения XML с помощью XPath Expression. Работает очень хорошо. Однако у меня возникает следующая проблема:
Я анализирую все данные XML, поэтому для каждого вызова xPath.evaulate
я создаю новый InputSource
.
StringReader xmlReader = new StringReader(xml);
InputSource source = new InputSource(xmlReader);
XPathExpression xpe = xpath.compile("msg/element/@attribute");
String attribute = (String) xpe.evaluate(source, XPathConstants.STRING);
Теперь я хотел бы углубиться в свое сообщение XML и оценить больше информации. Для этого мне пришлось в другой раз создать экземпляр источника. Это обязательно? Если я этого не сделаю, я получу исключения для закрытых потоков.