>> h={:title => "hi & mv288" }
=> {:title=>"hi & mv288"}
>> h.to_xml
=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<hash>\n <title>hi &amp; mv288</title>\n</hash>\n"
>> Hash.from_xml h.to_xml
=> {"hash"=>{"title"=>"hi & mv288"}}
如果您注意到第2行和第4行,则标题值中的&
字符变为&amp;后
一系列Hash.to_xml和from_xml方法调用。
有没有办法阻止Hash.from_xml将&
转换为&amp;。
答案 0 :(得分:1)
我们将xml解析器切换到Nokogiri来解决此问题。
在您的environment.rb
中添加此行ActiveSupport::XmlMini.backend = 'Nokogiri'
你必须安装nokogiri gem。如果你需要一个纯净的 nokogiri的java实现,看看这个。 https://github.com/tenderlove/nokogiri/wiki/pure-java-nokogiri-for-jruby
安装命令是,
gem install nokogiri --pre
您也可以使用LibXml
作为XmlMiini.backend来解决此问题。