[英]REXML::Document.new fails parsing with US-ASCII encoded XML
實際上,我在使用Rails 3.2.1在jruby-1.6.7中用REXML :: Document解析XML字符串時遇到了問題。
我有一個像
<?xml version="1.0" encoding="US-ASCII"?><a><b>Something</b></a>
在執行以下操作時,它曾經與jruby-1.6.5.1一起使用
doc = REXML::Document.new(xml_string)
到目前為止,它失敗並顯示:
failed - can't convert NilClass into String
backtrace of deliver! org/jruby/RubyIconv.java:207:in `initialize'
org/jruby/RubyIconv.java:391:in `conv'
/opt/jruby/lib/ruby/1.8/rexml/encodings/ICONV.rb:12:in `encode'
/opt/jruby/lib/ruby/1.8/rexml/source.rb:55:in `encoding='
/opt/jruby/lib/ruby/1.8/rexml/source.rb:45:in `initialize'
/opt/jruby/lib/ruby/1.8/rexml/source.rb:11:in `create_from'
/opt/jruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:121:in `stream='
/opt/jruby/lib/ruby/1.8/rexml/parsers/baseparser.rb:110:in `initialize'
/opt/jruby/lib/ruby/1.8/rexml/parsers/treeparser.rb:9:in `initialize'
/opt/jruby/lib/ruby/1.8/rexml/document.rb:227:in `build'
/opt/jruby/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
將標題更改為以下形式時:
<?xml version="1.0" encoding="utf-8"?><a><b>Something</b></a>
一切安好。 我是否會錯過系統上的庫,這是已知問題嗎? US-ASCII無效嗎?
FWIW-不是答案,但我也從JRuby 1.6.5 / Rails 3.1.3轉到1.6.7 / Rails 3.2.3,使用SimpleXML嘗試解析此xml時遇到相同的“新”錯誤:
<?xml version="1.0" encoding="ISO-8859-1"?>
<simulacao><ApoliceAuto Sistema="GISU" Utilizador="USER"
ReferenciaExterna="16" Ramo="90"
TipoSeguro="10"><Packs><Pack
codPack="1"><ValorAnualPack>240.89</ValorAnualPack><
ValorSemestralPack>124.39</ValorSemestralPack><
ValorContinuadoSemestralPack>
118.84</ValorContinuadoSemestralPack><ValorTrimestralPack>66.12<
/ValorTrimestralPack><ValorContinuadoTrimestralPack>60.57<
/ValorContinuadoTrimestralPack><ValorMensalPack>27.28</ValorMensalPack><
ValorContinuadoMensalPack>21.73</ValorContinuadoMensalPack><Mensagens/><
/Pack></Packs></ApoliceAuto></simulacao>
看起來像這樣(通過SO解析器:))
<?xml版本=“ 1.0”編碼=“ ISO-8859-1”?> <simulacao> <ApoliceAuto Sistema =“ GISU” Utilizador =“ USER” ReferenciaExterna =“ 16” Ramo =“ 90” TipoSeguro =“ 10”> <Packs> <Pack codPack =“ 1”> <ValorAnualPack> 240.89 </ ValorAnualPack> <ValorSemestralPack> 124.39 </ ValorSemestralPack> <ValorContinuadoSemestralPack> 118.84 </ ValorContinuadoSemestralPack> <ValorTrimestralPack> 66.12 </ ValorTrimesuPackPack> 60 <ValorContinue > <ValorMensalPack> 27.28 </ ValorMensalPack> <ValorContinuadoMensalPack> 21.73 </ ValorContinuadoMensalPack> <Mensagens /> </ Pack> </ Packs> </ ApoliceAuto> </ simulacao>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.