是否有更好的方法来测试属性的不存在,或者它的值是0还是空白?
目前我必须写
//Comment[not(@ID) or @ID=0 or @ID='']
但如果遗忘一个条件,那么更简单,更不易出错的事情将是理想的。
编辑:以下所有内容也有效
//Comment[not(not(@ID * 1) = 0)]
//Comment[not(@ID * 1 > 0)]
答案 0 :(得分:1)
test="(number(@ID))"
可能会做你想要的。当属性不存在时,它将返回false,空白或“0”,但对于某些其他情况,它也将返回false,例如ID="not-a-number"
。您需要更精确地指定您的要求,例如,您希望如何处理ID =“00”或ID =“0”(带空格)。
答案 1 :(得分:0)
“有更好的方式......”
不。