当前位置:  开发笔记 > Android > 正文

我可以在XPath中为缺少的标记创建值吗?

如何解决《我可以在XPath中为缺少的标记创建值吗?》经验,为你挑选了1个好方法。

我有一个应用程序,它使用XPath从XML文件中提取数据.如果缺少该XML源文件中的节点,我想返回值"N/A"(非常类似于Oracle NVL函数).诀窍是应用程序不支持XSLT; 我想单独使用XPath和XPath来做这件事.

那可能吗?



1> jelovirt..:

它可以完成但仅当节点存在时的返回值是节点的字符串值,而不是节点本身.XPath

substring(concat("N/A", /foo/baz), 4 * number(boolean(/foo/baz)))

将返回baz元素的字符串值(如果存在),否则返回字符串"N/A".

概括方法:

substring(concat($null-value, $node),
          (string-length($null-value) + 1) * number(boolean($node)))

其中$null-value是空值字符串和$node用于选择节点的表达式.请注意,如果$node求值为包含多个节点的节点集,则使用一个节点的字符串值.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有