3

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

我查看了文档并查看“Nokogiri 纠正错误标记”的位置,但我没有看到这样做的好方法。

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

4

2 回答 2

7

Nokogiri 会自动修复它们。

您可以使用inner_html来获取更正的 HTML 代码

require 'rubygems'
require 'nokogiri'
doc = Nokogiri::HTML.parse('<p>')
doc.inner_html # => "<html><body><p></p></body></html>"
于 2013-01-03T01:04:41.707 回答
4

您无需为 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">]>]>
于 2013-01-02T23:47:22.603 回答