如何在xpath中检查节点是否包含空字符串或空格或null?

时间:2014-05-23 08:09:42

标签: xml xpath xpath-2.0

我想使用xpath检查xml中的节点是否包含空字符串/空格。我需要使用的xpath表达式是什么?

例如:

 <p:insert_acc_data_file xmlns:p="http://ws.wso2.org/dataservice">
<p:Id>123</p:Id>
<p:Name></p:pName>
</p:insert_acc_data_file>

如何检查Name节点是空的还是包含空格值?

2 个答案:

答案 0 :(得分:6)

通过检查节点是否为空我猜您的意思是没有子元素(文本或节点)

可以使用normalize-space()函数检查节点是否只包含空格值。

我建议你使用这个条件:not(./*) and normalize-space(.)="",即

  • 没有子节点
  • 如果它有子文本元素,则该节点的空格规范化字符串表示形式为空字符串

答案 1 :(得分:0)

同时提及两种类型。

<Employee/>
<Employee></Employee>

以下代码将起作用

string(your_node_xpath) != ''