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

问题描述 投票:4回答:2

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

例如,我需要使用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节点是否为空或包含空格值?

xml xpath xpath-2.0
2个回答
6
投票

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

检查一个节点是否只包含空格值,可以使用 normalize-space() 功能。

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

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

0
投票

对于上述两种类型。

<Employee/>
<Employee></Employee>

下面的代码可以工作

string(your_node_xpath) != ''
© www.soinside.com 2019 - 2024. All rights reserved.