Ruby Nokogiri:查找直接路径中的所有标记,不包括任意级别的嵌套
假设我有一个html文档,如:Ruby Nokogiri:查找直接路径中的所有标记,不包括任意级别的嵌套,ruby,xpath,nokogiri,Ruby,Xpath,Nokogiri,假设我有一个html文档,如: <div id='findMe'> <table> <tr> <td> <p> <a href="bad">bad</a> </p> </td> </tr> </table> <p> This is some t
<div id='findMe'>
<table>
<tr>
<td>
<p>
<a href="bad">bad</a>
</p>
</td>
</tr>
</table>
<p>
This is some text and this is a <a href="good">link</a>
</p>
</div>
但这是捕获两个链接。我还尝试了更显式的xpath:
Nokogiri::HTML(html).css('#findMe').xpath('//p/a')
但那是在做同样的事情。如何告诉Nokogiri只搜索树下的特定路径?使用CSS中的
选择直接子代
Nokogiri::HTML(html).css('#findMe > p > a')
或者在xpath中使用/
:
Nokogiri::HTML(html).xpath("//div[@id='findMe']/p/a")
在CSS中使用
选择直接子体
Nokogiri::HTML(html).css('#findMe > p > a')
或者在xpath中使用/
:
Nokogiri::HTML(html).xpath("//div[@id='findMe']/p/a")
在CSS中使用
选择直接子体
Nokogiri::HTML(html).css('#findMe > p > a')
或者在xpath中使用/
:
Nokogiri::HTML(html).xpath("//div[@id='findMe']/p/a")
在CSS中使用
选择直接子体
Nokogiri::HTML(html).css('#findMe > p > a')
或者在xpath中使用/
:
Nokogiri::HTML(html).xpath("//div[@id='findMe']/p/a")
我想出了一个方法,但是我仍然不太习惯使用XPath,所以如果这不是最好的方法,请随意发布更规范的方法来实现这一点
Nokogiri::HTML(html).css(#findMe').xpath('//div/p/a')
我想出了一个方法,但是我仍然不太习惯使用XPath,所以如果这不是最好的方法,请随意发布更规范的方法来实现这一点
Nokogiri::HTML(html).css(#findMe').xpath('//div/p/a')
我想出了一个方法,但是我仍然不太习惯使用XPath,所以如果这不是最好的方法,请随意发布更规范的方法来实现这一点
Nokogiri::HTML(html).css(#findMe').xpath('//div/p/a')
我想出了一个方法,但是我仍然不太习惯使用XPath,所以如果这不是最好的方法,请随意发布更规范的方法来实现这一点
Nokogiri::HTML(html).css(#findMe').xpath('//div/p/a')
好的,如果我希望所有的
标记都在该div中,那么这是否有效?以及所有这些中的所有
标记?我想这里的问题不太清楚。好吧,如果我希望所有的
标签都在这个div中,这个方法行吗?以及所有这些中的所有
标记?我想这里的问题不太清楚。好吧,如果我希望所有的
标签都在这个div中,这个方法行吗?以及所有这些中的所有
标记?我想这里的问题不太清楚。好吧,如果我希望所有的
标签都在这个div中,这个方法行吗?以及所有这些中的所有
标记?我想这里的问题不太清楚。您的XPath正在选择文件中的所有div
(并忽略css()
选择器的上下文。)css()
选择器将一个元素与findMe
ID匹配,该ID恰好是div
,但是XPath表达式会忽略该结果,并从所有div中获取包含a
元素的节点集。这就是您真正想要的吗?您的XPath正在选择文件中的所有div
(并忽略css()
选择器的上下文。)css()
选择器将一个元素与findMe
ID匹配,该ID恰好是div
,但是XPath表达式会忽略该结果,并从所有div中获取包含a
元素的节点集。这就是您真正想要的吗?您的XPath正在选择文件中的所有div
(并忽略css()
选择器的上下文。)css()
选择器将一个元素与findMe
ID匹配,该ID恰好是div
,但是XPath表达式会忽略该结果,并从所有div中获取包含a
元素的节点集。这就是您真正想要的吗?您的XPath正在选择文件中的所有div
(并忽略css()
选择器的上下文。)css()
选择器将一个元素与findMe
ID匹配,该ID恰好是div
,但是XPath表达式会忽略该结果,并从所有div中获取包含a
元素的节点集。这就是你真正想要的吗?