如何获得所需的节点,而不是xpath中的所有节点
问题描述:
<table>
<tr> <th> colspan=3 **pencils** </th> </tr>
<tr> <td> camelin </td></tr>
<tr> <td> upsara </td></tr>
<tr> <th> colspan=3 **subjects** </th> </tr>
<tr> <td> Maths </td></tr>
<tr> <td> Physics </td></tr>
<tr> <td> Chemistry </td></tr>
<tr> <th> colspan=3 **books** </th></tr>
如果节点tr
包含铅笔,那么我想要下面的tr节点包含camelin和upsara。但是我将所有camelin,upsara,数学,物理结合在一起。如何获得所需的节点,而不是xpath中的所有节点
同样,如果tr
包含科目,那么我想要下面的节点包含数学物理和化学。 我想要铅笔后的文本我的意思是接下来的两个节点与铅笔信息有关。 我想通过检查其中的条件来检查colspans之间的文本。还有一件事是计数是动态的而不是静态的。
答
试试这个。 它返回铅笔或科目后的前2个TD元素。
/table/tr[contains(th/text(), 'pencils')]/following-sibling::tr[position()<3]/td/text()
/table/tr[contains(th/text(), 'subjects')]/following-sibling::tr[position()<3]/td/text()
你想获得TH之间的所有TD吗?请多说明一下逻辑。 你想在**铅笔**之后但是在下一个TH之前(**主题**)获得数值吗? –