Мне нужно вычислить выражение xpath, не зная заранее его возвращаемого значения.Меня не волнует различие между NodeSet и NodeSet, но меня интересует NodeSet вместо String или числа.
Например, xpath с функцией sum
или concat
можетвернуть число или строку (или логическое значение).Xpath с обычным путем xml возвращает набор узлов, возможно, только с одним узлом.
Как я могу вызвать функцию XPathExpression.evaluate()
(javadoc здесь )?Я не знаю, что QName передать ему в качестве второго параметра.Класс XPathConstants
содержит закрытый список разрешенных констант (это Node, NodeSet, String, Number и Boolean).
Можно ли указать значение «all» или «not care» изатем проверить возвращаемый объект на предмет его типа?
Я подумал, может быть, использовать перегруженную версию этой функции, которая всегда возвращает строку.Однако я не понимаю, как это будет работать, если выражение xpath предназначено для возврата набора узлов.