2014-02-05 67 views
0

如何使xpath 1.0的行爲一樣,如果值是空 - 返回字符串"empty"如果XPath的結果是空的回報「空」的字符串

,如果我有一個XML

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

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

回答

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

使用路徑string(/query/ladid)