使用Nokogiri,我如何关闭不匹配的标签



我正在用Nokogiri抓取HTML文档,其中许多可能有未关闭的标签。例如,我想关闭"unclosed" <p>标签。

我已经看了文档,看看Nokogiri纠正了坏标记,但我没有看到一个好的方法。

也许它需要遍历每个元素并关闭任何不匹配的标记?

Nokogiri自动修复。

您可以使用inner_html来获得正确的HTML代码

require 'rubygems'
require 'nokogiri'
doc = Nokogiri::HTML.parse('<p>')
doc.inner_html # => "<html><body><p></p></body></html>"

你不需要为Nokogiri做任何特殊的事情来关闭未关闭的标签。看看这个:

1.9.3p327 :001 > require 'nokogiri'
 => true 
1.9.3p327 :002 > doc = Nokogiri::XML.parse('<a><b></b>')
 => #<Nokogiri::XML::Document:0xee4a80 name="document" children=[#<Nokogiri::XML::Element:0xee4710 name="a" children=[#<Nokogiri::XML::Element:0xee4508 name="b">]>]>

相关内容

  • 没有找到相关文章

最新更新