如何选择具有某些值并且不为空的所有节点?例如,我有以下XML:
<bbb>
<aaa/>
<bbb/>
<ccc>23</ccc>
<ddd/>
<eee>Health</eee>
<fff/>
</bbb>
这里我想选择那些bbb子节点并且有一些值的节点,即节点ccc和eee。
答案 0 :(得分:3)
选择那些bbb子节点并具有一些值的节点
如果要包含仅包含空格的节点,请尝试:
/bbb/*[string()]
如果要忽略仅包含空格(<x> </x>
)的节点,请尝试:
/bbb/*[normalize-space()]
答案 1 :(得分:3)
这应该有效:
/bbb/*[.!='']
bbb的所有子项,其值不为空。
答案 2 :(得分:1)
仅在具有文本值的情况下获取所有节点:
/bbb/*[text()]