Reputation: 8125
With my current node selected I wish to find an element <name>
[./name]
and return the text content. If an element <name>
does not exist in the currently selected node I wish to check the parent element [./parent::name]
and so on recursively up to the root, returning the value of the nearest parent where the element exists.
Can it be done with XPath?
Upvotes: 1
Views: 5384
Reputation: 127457
(Edit: I misinterpreted the question the first time)
I propose to use
ancestor-or-self::name[1]
This finds all name
elements, starting with self, parent, and so on, and orders them in increasing distance from self. So selecting [1]
gives you the nearest one.
Upvotes: 6