给定一个用户输入的字符串,如何在Java中判断它是否为有效的XPath表达式。我只是很好奇,因为我无法使用javax.xml.xpath库找到一种方法来实现它。谢谢。
给定一个用户输入的字符串,如何在Java中判断它是否为有效的XPath表达式。我只是很好奇,因为我无法使用javax.xml.xpath库找到一种方法来实现它。谢谢。
我假设您想验证语法,而不是在xml或xml模式的上下文中验证表达式是否有效。您可以使用编译(..)方法,如果xpath与语法不正确,它将抛出异常。
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//book[author='Abc']/title/text()");
对一些示例 XML 文档(例如 <a/>
)运行 XPath。在大多数情况下,它不会返回任何内容,但你关心的是它是否会抛出异常。