使用依赖于HTTParty和multi_xml的gem时,我收到此错误:
MultiXml::ParseError: xmlParseCharRef: invalid xmlChar value 25
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/multi_xml-0.5.5/lib/multi_xml/parsers/nokogiri.rb:15:in `parse'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/multi_xml-0.5.5/lib/multi_xml.rb:138:in `parse'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:111:in `xml'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:140:in `parse_supported_format'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:102:in `parse'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/parser.rb:66:in `call'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/request.rb:241:in `parse_response'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/request.rb:211:in `block in handle_response'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/response.rb:18:in `call'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/response.rb:18:in `parsed_response'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/httparty-0.8.3/lib/httparty/response.rb:51:in `method_missing'
from /Users/chad/.rvm/gems/ruby-1.9.3-p194/gems/commission_junction-1.5.0/lib/commission_junction.rb:146:in `link_search'
似乎这是一个编码问题,或者是由于某个库不喜欢的某些字符。
我正在使用的gem是commission_junction。要解决这个问题,我可能需要分叉并指定一些编码选项吗?我正在挖掘代码here。
我尝试使用最新的commission_junction和HTTParty gems ......没有帮助。
答案 0 :(得分:1)
我是commission_junction gem的作者。我发布了1.7.0版本,其中包括Chad Johnson对使用“牛”宝石的修复。
答案 1 :(得分:0)
我最后通过简单地将“ox”gem(一个XML解析器)添加到我的项目的Gemfile来解决这个问题。