2

我有一个 Rails 3 模型,它在数据库 (IBM DB2) 中包含一个 XML 列。每当我尝试通过 以 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 回答