RailsとActiveResourceを使用して、サードパーティのAPIから非RailsスタイルのXML応答を取得しています。マップしたいオブジェクトは基本的にprestahop要素でラップされています。オブジェクトを正しくマップするためにその要素を取り除くには、何をオーバーライドする必要がありますか?
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<order>
<id></id>
RailsとActiveResourceを使用して、サードパーティのAPIから非RailsスタイルのXML応答を取得しています。マップしたいオブジェクトは基本的にprestahop要素でラップされています。オブジェクトを正しくマップするためにその要素を取り除くには、何をオーバーライドする必要がありますか?
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<order>
<id></id>
ニーズに合わせてカスタムフォーマッターを使用する必要があります。このようなものが良い解決策になる可能性があります。
class PrestaXMLFormatter
include ActiveResource::Formats::XmlFormat
def decode(xml)
ActiveResource::Formats::XmlFormat.decode(xml)['prestashop']
end
end
class Order < ActiveResource::Base
self.format = PrestaXMLFormatter.new
end