如果xpath结果为空,则返回“空”字符串

时间:2014-02-05 12:10:34

标签: xml xpath

如果xpath 1.0的行为类似于值为空 - 返回字符串"empty"

如果我有XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<query systemEnvironmentCode="UAT">
    <trxid>107</trxid>
    <ladid/>
</query>

如果ladid为空,我希望它返回"empty"字符串,如果它不为空 - 返回ladid的值

2 个答案:

答案 0 :(得分:1)

如果您希望将字符串empty而不是空字符串作为空元素的结果,则以下XPath应该执行此操作:

concat(
    substring(string(/query/ladid), 1,
        number(string(/query/ladid) != '') * string-length(/query/ladid)),
    substring('empty', 1,
        number(string(/query/ladid) = '') * 5)
)

它基于https://stackoverflow.com/a/971665/948404

答案 1 :(得分:0)

使用路径string(/query/ladid)