Ruby 如何让Nokogiri报告或引发无效Html片段的错误
看来Nokogiri不尊重这个严格的选择Ruby 如何让Nokogiri报告或引发无效Html片段的错误,ruby,nokogiri,Ruby,Nokogiri,看来Nokogiri不尊重这个严格的选择 html = %Q{<ul id="Test"><li></ul></li>} parsed = Nokogiri::HTML(html) do |config| config.strict end 他们用来打开选项的代码如下: doc = Nokogiri::XML(File.open("blossom.xml")) do |config| config.strict.noblanks end
html = %Q{<ul id="Test"><li></ul></li>}
parsed = Nokogiri::HTML(html) do |config|
config.strict
end
他们用来打开选项的代码如下:
doc = Nokogiri::XML(File.open("blossom.xml")) do |config|
config.strict.noblanks
end
以前也有类似的问题,但没有答案:
我通常使用以下方法来找出问题所在:
require 'nokogiri'
doc = Nokogiri::HTML('<ul id="Test"><li></ul></li>')
doc.errors # => [#<Nokogiri::XML::SyntaxError: Unexpected end tag : li>]
需要“nokogiri”
doc=Nokogiri::HTML(“- ”)
doc.errors#=>
当解析为DocumentFragment时,您将看到相同的结果:
doc = Nokogiri::HTML::DocumentFragment.parse('<ul id="Test"><li></ul></li>')
doc.errors # => [#<Nokogiri::XML::SyntaxError: Unexpected end tag : li>]
doc=Nokogiri::HTML::DocumentFragment.parse(“- ”)
doc.errors#=>
对于以下情况,它返回相同的值:
parsed = Nokogiri::HTML('<ul id="Test"><li></ul></li>') do |config|
config.strict
end
parsed.errors # => [#<Nokogiri::XML::SyntaxError: Unexpected end tag : li>]
parsed=Nokogiri::HTML('
')do | config|
config.strict
结束
parsed.errors#=>[#]
parsed = Nokogiri::HTML('<ul id="Test"><li></ul></li>') do |config|
config.strict
end
parsed.errors # => [#<Nokogiri::XML::SyntaxError: Unexpected end tag : li>]