进入
的文档具有这样的结构:
<span class="footnote">Hello there, <a href="http:google.com">link</a></span>
XPath 搜索是:
@doc = set_nokogiri(html)
footnotes = @doc.xpath(".//span[@class = 'footnote']")
footnotes.each_with_index do |footnote, index|
puts footnote
end
上面的脚注变为:
<span>Hello there, link</span>
我认为我的XPath是错误的,但我很难弄清楚原因。
我在输出中有错误的标签,应该更加小心。关键是<a>
标签被剥离,但其内容仍然包含在内。
我还添加了set_nokogiri
行,以防相关。
我无法复制问题:
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<span class="footnote">Hello there, <a href="http:google.com">link</a></span>
EOT
footnotes = doc.xpath(".//span[@class = 'footnote']")
footnotes.to_xml # => "<span class="footnote">Hello there, <a href="http:google.com">link</a></span>"
footnotes.each do |f|
puts f
end
# >> <span class="footnote">Hello there, <a href="http:google.com">link</a></span>
另一个问题是 <a>
标记具有无效的href
URL。
<a href="http:google.com">link</a>
应该是:
<a href="http://google.com">link</a>