0

コードは次のとおりです。

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=')に戻ります

4

1 に答える 1