Документация Saxon , хотя и немного неясная, по-видимому, предполагает, что JAXP XPath API вернет false
при оценке выражения XPath, если не найдено подходящих узлов.
В этой статье IBM упоминается возвращаемое значение null
, когда не найдено ни одного узла.
Возможно, вам придется поэкспериментировать с типами возврата, основанными на этом API, но основная идея заключается в том, чточто вы просто запускаете обычный XPath и проверяете, является ли результат узлом / false
/ null
/ и т. д.
XPathFactory xpathFactory = XPathFactory.newInstance(NamespaceConstant.OBJECT_MODEL_SAXON);
XPath xpath = xpathFactory.newXPath();
XPathExpression expr = xpath.compile("/Consumers/Consumer/DataSources/Credit/CreditReport/AttachedXml");
Object result = expr.evaluate(doc, XPathConstants.NODE);
if ( result == null ) {
// do something
}