Я пытаюсь выяснить, как использовать XPath для получения значений exceptionID и toolID из фрагмента XML в следующем документе XML (да, наличие XML в CDATA немного странно, но это то, что я получаю изСторонний сервис)
<?xml version="1.0"?>
<exception>
<info>
<![CDATA[
<info>
<exceptionID>1</exceptionID>
<instrumentID>1</instrumentID>
</info>
]]>
</info>
</exception>
Возможно ли получить значения в одном операторе XPath?
Я использую javax.xml.xpath.XPath внутри Java (JDK 1.5 с Xalan 2.7.1 и Xerces 2.9.1), например
XPath xpath = XPathFactory.newInstance().newXPath();
Long exceptionId = new Long(((Double)xpath.evaluate(this.exceptionIdXPath,
document, XPathConstants.NUMBER)).longValue());
Это переменная this.exceptionIdXPath, которую я не знаю, как установить, я знаю, например, что:
/exception/info/text()/info/exceptionID
не будет работать (text () возвращает данные внутри CDATA, но без «знания», что это XML)