这是代码:
require 'nokogiri'
doc = Nokogiri::HTML("<!DOCTYPE html><html><input multiple='false' id='test' some='2'/><div multiple='false'></div></html>")
puts doc.errors
doc.css("input").each do |el|
puts el.attributes['multiple']
end
puts doc.to_html
这是输出:
false
<!DOCTYPE html>
<html><body>
<input multiple id="test" some="2"><div multiple></div>
</body></html>
[Finished in 2.0s]
两个='false'在哪里??
编辑
另外,有没有办法拒绝默认校正?(使用 to_xhtml 可以将 ='false' 但和 CDATA 保留到脚本标签中)
在我的选择中, to_xhtml 似乎更严格地工作,为什么 to_xhtml 保留 multiple='false' 代替?
编辑2
这是我的临时解决方法:gsub(/multiple=/, 'blahhhhh')解析前和gsub(/blahhhhh/, 'multiple=')解析后返回