2

データベース (IBM DB2) に XML 列を含む Rails 3 モデルがあります。このモデルを XML 形式で取得しようとすると@model.to_xml、次のような XML 列がエスケープされます。

<model>
    <id>1</id>
    <xml-column>&lt;tag&gt;value&lt;/tag&gt;</xml-column>
</model>

私が達成しようとしているのは次のとおりです。

<model>
    <id>1</id>
    <xml-column>
        <tag>value</tag>
    </xml-column>
</model>

XML列のエスケープを解除してメソッドを書き直すなど、これまでにいくつかのことを試みましたが、うまくいきto_xmlませんでした(XML列を効率的に解析する方法がわかりません)。

何か案は?

4

2 に答える 2

2

それは解決しました:

def to_xml(options = {})
  options[:indent] ||= 2
  xml = options[:builder] ||= Builder::XmlMarkup.new(:indent => options[:indent])
  xml.instruct! unless options[:skip_instruct]

  xml.model do
    xml.id self.id    
    xml.metadata do
      xml.target! << self.metadata
    end
  end
end

:)

于 2011-03-08T16:05:18.960 に答える
0

次のようなことができますか?

def to_xml
   super(:except => [:column-xml]).merge!({:column-xml => self.column-xml})
end

私はこれを試していません

于 2011-03-07T22:09:10.673 に答える