根据已知的td类,我试图为标题创建xpath。
<tr>
<td class="...">
<table class="...">
...
</table>
</td>
<td class="...">
<table class="...">
<caption class="...">CAPTION_WANTED</caption>
<colgroup>
...
</colgroup>
<tbody>
...
<tr class="...">
...
</tr>
<tr class="...">
...
<td class="...">
...
</td>
<td class="TD_KNOWN">
<div class="...">...</div>
</td>
...
</tr>
...
</tbody>
</table>
</td>
</tr>
...
我尝试了这个://*tr[KNOWN_ID]/td/table[tbody[tr[td[@class,"TD_KNOWN"]]]]/caption
但它不起作用。
当我想要包含含有smth的smth的smth时,我应该使用方括号吗?
答案 0 :(得分:1)
这些XPath中的任何一个:
//td[@class="TD_KNOWN"]/../../../caption
或
//td[@class="TD_KNOWN"]/ancestor::table[1]/caption
应用于您的输入XML将产生:
<caption class="...">CAPTION_WANTED</caption>
根据您的要求。
如果您想要文本本身,只需将/text()
附加到上述任一XPath中即可。例如,
//td[@class="TD_KNOWN"]/ancestor::table[1]/caption/text()
将产生
CAPTION_WANTED