【问题标题】:validate an xpath expression in Java验证 Java 中的 xpath 表达式
【发布时间】:2011-09-30 06:44:59
【问题描述】:

给定一个用户输入的字符串,我如何判断它是否是一个 是否在 Java 中有效的 Xpath 表达式。只是好奇,因为我不能 使用 javax.xml.xpath 库找到一种方法。谢谢。

【问题讨论】:

  • 你应该接受你提出的每一个问题的答案......这使得人们不太可能花费时间和精力来帮助你,也有点忘恩负义。

标签: java validation xpath


【解决方案1】:

我假设您想要验证语法,但如果表达式在您的 xml 或 xml 架构的上下文中有效,则不需要。您可以使用 compile(..) 方法,如果 xpath 语法不正确,它将引发异常。

XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
XPathExpression expr = xpath.compile("//book[author='Abc']/title/text()");

【讨论】:

  • 如果我想“整理”XPath 怎么办。例如,“//book['Abc']”将编译(并产生 true)。但是我所有的测试都使用 XPath,我需要测试我的测试,那么我如何检测它应该是“//book[@author = 'Abc']”?
【解决方案2】:

针对一些示例 XML 文档(例如 <a/>)运行 XPath。大多数情况下它不会返回任何东西,但你关心的是它是否会抛出异常。

【讨论】:

    猜你喜欢
    • 2010-11-20
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 2012-12-30
    相关资源
    最近更新 更多