落後符合最近的標籤我有一個HTML這樣的:如何使用XPath
html =<<EOS
<table><!-- outer table -->
<tr><td>
<table><!-- inner table 1 -->
<tr><td>Foo</td></tr>
</table>
<table><!-- inner table 2 -->
<tr><td>Bar</td></tr>
</table>
</td></tr>
</table>
EOS
我想從一個靜態值Foo
得到一個變化值Bar
。
有了這段代碼,我可以獲得價值。
Nokogiri::HTML(html)
doc.xpath("//table[tr/td[text()='Foo']]/following-sibling::table//td").text
,我想改寫這樣的:
doc.xpath("//table[//td[text()='Foo']]/following-sibling::table//td").text
但這碼不起作用,因爲//table[//td[text()='Foo']]
匹配外部表不是內部表。
在XPath中是否有像這樣的表達式nearest backward match
?
//table[(nearest match expression)td[text()='Foo']]
使用'my_doc.at'或'my_doc.at_xpath'可以從XPath中刪除'[1]',對嗎? – Phrogz 2015-01-21 19:06:55
@Phrogz可能是Ruby語法嗎?這是什麼意思? – 2015-01-21 19:08:07
使用Nokogiri'at'和'at_xpath'方法將僅返回第一個匹配元素,而不是一組節點。 – Phrogz 2015-01-21 19:09:36