validate an xpath expression in Java

前端 未结 2 997
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-17 12:27

Given an user input string, how can I tell whether it is a valid Xpath expression or not in Java. Just curious, since I cannot find a way to do it using javax.xml.xpath li

相关标签:
2条回答
  • 2021-01-17 12:50

    I assume you want to validate the syntax but not if the expression is valid within the context of a your xml or xml schema. You can use the compile(..) method and it will throw an exception if the xpath is incorrect w.r.t the syntax.

    XPathFactory factory = XPathFactory.newInstance();
    XPath xpath = factory.newXPath();
    XPathExpression expr = xpath.compile("//book[author='Abc']/title/text()");
    
    0 讨论(0)
  • 2021-01-17 13:02

    Run the XPath against some example XML document (e.g. <a/>). In most cases it won't return anything, but what you care about is whether it will throw an exception.

    0 讨论(0)
提交回复
热议问题