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

Ratha picture Ratha · May 23, 2014 · Viewed 9.6k times · Source

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?

Answer

paul trmbrth picture paul trmbrth · May 23, 2014

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