我有一个文档,想提取几个元素,这些元素是父元素的直接后代,但忽略了其他元素。 问题是我没有按照它们在文档中出现的顺序获取元素。 原因实际上可能是我使用的 CSS 选择器错误...
require 'rubygems'
require 'nokogiri'
require 'open-uri'
html = <<END
<content>
<p>Lorem</p>
<div>
FOO
<p>BAR</p>
</div>
<h1>Ipsum</h1>
<p>Dolor</p>
<div>
BAR
<h2>FOO</h2>
</div>
<h2>Sit</h2>
<p>Amet</p>
</html>
END
Nokogiri::HTML(html).css('content > p, content > h1, content > h2').inner_html # "<p>Lorem</p><p>Dolor</p><p>Amet</p><h1>Ipsum</h1><h2>Sit</h2>"
我想要的是
<p>Lorem</p><h1>Ipsum</h1><p>Dolor</p><h2>Sit</h2><p>Amet</p>
最佳答案
尝试使用这个 XPath:
//content/p|//content/h1|//content/h2
关于css - 按照元素在文档中出现的顺序获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1446801/