2010-11-18 4 views
1
>> h={:title => "hi & mv288" } 
=> {:title=>"hi & mv288"} 
>> h.to_xml 
=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<hash>\n <title>hi &amp;amp; mv288</title>\n</hash>\n" 
>> Hash.from_xml h.to_xml 
=> {"hash"=>{"title"=>"hi & mv288"}} 

をエスケープし、タイトル値の&amp;文字が 後Hash.to_xmlとfrom_xmlメソッド呼び出しの一連の&となりました。Hash.from_xmlダブル&

Hash.from_xmlが&amp;から&に変換されないようにする方法はありますか。

+0

私のローカルテストでは、 'Hash.from_xml h.to_xml'は元の結果' {:title => "hi & mv288"} '...... – PeterWong

+0

emm ...私はjruby- 1.5.2/jdk1.6.0_21。どのバージョンを使用していますか? –

+0

とレールv2.3.9、ルビー1.8.7 –

答えて

1

この問題を解決するためにxmlパーサをNokogiriに切り替えました。

はあなたのenvironment.rbに

ActiveSupport::XmlMini.backend = 'Nokogiri' 

あなたは鋸山宝石ががインストールされている必要がありますで、この行を追加します。 nokogiriの純粋な Java実装が必要な場合は、これを確認してください。 https://github.com/tenderlove/nokogiri/wiki/pure-java-nokogiri-for-jruby

インストールコマンドは、

gem install nokogiri --pre 

また、この問題を解決するためにXmlMiini.backendとしてLibXmlを使用することができます。