Ratha
Ratha

Reputation: 9692

How to check a node contains empty string or space or null in xpath?

I want to check using xpath an node in the xml contains empty string/spaces. What is the xpath expression i need to use?

eg:

 <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>

How to check the Name node is empty or containing space values?

Upvotes: 5

Views: 15600

Answers (2)

Bharat
Bharat

Reputation: 760

For both mentioned type.

<Employee/>
<Employee></Employee>

Below code will work

string(your_node_xpath) != ''

Upvotes: 0

paul trmbrth
paul trmbrth

Reputation: 20748

By checking if a node is empty I guess you mean has no child element (text or node).

Checking if a node contains only space values can be done using normalize-space() function.

I suggest you use this condition: not(./*) and normalize-space(.)="", i.e.

  • does not have child nodes
  • and if it has child text element, the whitespace normalized string representation of the node is an empty string

Upvotes: 8

Related Questions