Учитывая строку ввода пользователя, как я могу определить, является ли она допустимое выражение Xpath или нет в Java. Просто любопытно, так как я не могу найти способ сделать это с помощью библиотеки javax.xml.xpath. Спасибо.
Проверить выражение xpath в Java
Ответ 1
Я предполагаю, что вы хотите проверить синтаксис, но не, если выражение действительно в контексте вашей схемы xml или xml. Вы можете использовать метод compile (..), и он будет генерировать исключение, если xpath не соответствует w.r.t синтаксису.
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//book[author='Abc']/title/text()");
Ответ 2
Запустите XPath для примера XML-документа (например, <a/>
). В большинстве случаев он ничего не вернет, но то, о чем вы заботитесь, это то, будет ли оно вызывать исключение.