コードは次のとおりです。
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]
2 つの ='false' はどこにありますか??
編集
さらに、デフォルトの補正を下げる方法はありますか?? (to_xhtml を使用すると、='false' を保持できますが、CDATA はスクリプト タグに入れられます)
私のオプションでは、 to_xhtml はより厳密に機能しているように見えますが、なぜ to_xhtml は multiple='false' を保持するのですか??
EDIT2
これが私の一時的な回避策です:解析前にgsub(/multiple=/, 'blahhhhh') 、解析後にgsub(/blahhhhh/, 'multiple=')に戻ります