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?
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?
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()/..')
<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).