【发布时间】:2008-10-28 15:39:07
【问题描述】:
你知道 java 有什么不严格的 xpath 吗? (我希望它不检查 dtd 和架构)如果它不关心正确的 xml,那就太酷了。
【问题讨论】:
你知道 java 有什么不严格的 xpath 吗? (我希望它不检查 dtd 和架构)如果它不关心正确的 xml,那就太酷了。
【问题讨论】:
您无需架构有效的 XML 即可使用 XPath。对于非格式良好的 XML,那么我认为您有两种选择:
【讨论】:
好的,首先,“正确的 xml”可以用几种方式解释。如果您的意思是“格式不正确”(缺少尖括号、重叠元素等),那么任何版本的 xpath 都不会对此做任何有用的事情。使用某种正则表达式会更好。如果您的 XML 格式不正确,我希望您对它的格式不正确有所了解,否则您将没有任何希望。
如果您实际上的意思是“无效”,这仅仅意味着它不针对架构或 DTD 进行验证,那么您可以使用与“local-name()”函数进行比较的谓词。例如,如果您想查找“/foo/bar”元素,忽略模式,那么您的 xpath 将如下所示:
/*[local-name()='foo']/*[local-name()='bar']
【讨论】: