Ruby 如何让Nokogiri报告或引发无效Html片段的错误

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

看来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
以前也有类似的问题,但没有答案:

我通常使用以下方法来找出问题所在:

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>]