我有一個 HTML 頁面,其中包含一個包含各種行的表格
<table>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><strong>myTd</strong></td>
</tr>
<tr>
<td></td>
</tr>
</table>
目前我有一個 XPath 來查找td包含myTd文本,
/table/tbody/tr/td/strong[text()="myTd"]
但是現在,我需要tr從實際中收集所有以前的資訊td(在本例中,前四次tr出現)。我嘗試了以下 XPath,但它只回傳背景關系行(第五行tr)。
/table/tbody/tr/td/strong[text()="myTd"]/ancestor::tr
uj5u.com熱心網友回復:
您可以使用這個 XPath-1.0 運算式:
/table/tbody/tr[td/strong/text()='myTd']/preceding-sibling::tr/td
它選擇了前四個td元素。
請注意,我將“MyTd”更改為“myTd”,因為您的 XML 和 XPath 運算式不匹配。現在問題的 XML、它的 XPath 運算式和答案確實參考了相同的元素。
uj5u.com熱心網友回復:
這個 XPath,
/table/tbody/tr[td="myTd"]/preceding-sibling:tr
將選擇字串值為 的元素tr之前的所有前面的兄弟元素,而不管任何或其他包裝標記。trtd"myTd"strong
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/490148.html
