Checking emptiness of an element in hpricot

232 Views Asked by At

Let's say this is the location element: <.location>blah...<./location>

It can be empty like this: <.location/>

Is there a way to detect the backslash in the empty element in order to not return it?

2

There are 2 best solutions below

1
On BEST ANSWER

If what you really want is the text inside location tags, you can find those easily with the right XPath:

doc.search('//location/text()')

If, for some reason, you actually need the location element itself, use this:

doc.search('//location/text()/..')
1
On

<location/> is semantically identical to <location></location>, and should be treated as such. To find all empty tags, just skip elements which do not have any child nodes (including text).