Использование XPath для выражения в Java - PullRequest
1 голос
/ 09 января 2020

При оценке XPath для выражения в Java, например:

        String expr = "for $x in * return $x";

        NodeList nodeList = (NodeList) m_xpath.evaluate(
                expr, 
                docXML, XPathConstants.NODESET);

Я получаю ошибку:

        javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: Extra illegal tokens: '$', 'x', 'in', ...

Я понимаю, что могу просто использовать * в качестве значение expr, но я пытаюсь понять, как использовать XPath для выражений в Java.

1 Ответ

3 голосов
/ 09 января 2020

Несмотря на другие ответы и комментарии, for $x in * return $x - это XPath. Однако for требует XPath 2.0 (или выше), но реализация по умолчанию API javax.xml.xpath поддерживает только XPath 1.0.

Рассмотрите возможность использования 1013 * реализации Saxonica для превосходной поддержки XPath 2.0+ в Java (и. NET).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...