Can I create a value for a missing tag in XPath?我有一个使用XPath从XML文件提取数据的应用程序。 如果该XML源文件中的节点丢失,我想返回值" N / A"(非常类似于Oracle NVL函数)。 诀窍是该应用程序不支持XSLT。 我想单独使用XPath和XPath进行此操作。 那可能吗? 可以这样做,但前提是该节点确实存在时的返回值是该节点的字符串值,而不是该节点本身。 XPath
将返回 概括该方法:
其中, 简短的回答:不。对于XPath规范的版本2,考虑并明确拒绝了此类功能(请参阅非规范性说明性用户编写的功能部分)。 对于空节点,您需要
(您可以忽略对 @jelovirt 因此,如果我正确理解了这一点,我们将默认答案和节点的值连接起来,然后通过测试节点的存在以将偏移量设置为零或将其设置为零,从而获取结果字符串的正确子集。默认字符串。这是我见过的最扭曲的语言。 (我喜欢它!) 为了澄清您的意见,此方法在节点丢失时有效,而不是在节点为空时有效。但是通过将" number(boolean($ node))"替换为" string-length($ node)",它将代替空节点。 可以使用XPath 1.0来完成。说你有
如果要测试
如果表达式 |