XPath recursive
A part of my xml-file:
<table>
<row id="aant">
<radio id="radaant">
<omschrijving>test radio</omschrijving>
<omschrijving>part 2</omschrijving>
<table>
<row id="testrow">
<radio id="testrad">
<omschrijving>test radio deeper</omschrijving>
开发者_开发百科 <table/>
</radio>
</row>
</table>
</radio>
</row>
</table>
I would like to get the "omschrijving" from under the tag radio with id="radaant". Since "omschrijving" is also deeper in the child i always get "test radiopart 2test radio deeper" as result, but I just want "test radiopart 2".
I'm currently using xpath: expr = xpath.compile("/table/row[@id='aant']/radio[@id='radaant']/omschrijving")
How can I change my xpath string to get only the "omschrijving" from the current node?
You obviously are talking about another XML document or another XPath expression.
When applied on the provided XML document:
<table>
<row id="aant">
<radio id="radaant">
<omschrijving>test radio</omschrijving>
<omschrijving>part 2</omschrijving>
<table>
<row id="testrow">
<radio id="testrad">
<omschrijving>test radio deeper</omschrijving>
<table/>
</radio>
</row>
</table>
</radio>
</row>
</table>
your XPath expression:
/table/row[@id='aant']/radio[@id='radaant']/omschrijving
selects exactly the wanted nodes:
<omschrijving>test radio</omschrijving>
<omschrijving>part 2</omschrijving>
try expr = xpath.compile("/table/row[@id='aant']/radio[@id='radaant']/child::omschrijving")
精彩评论