【问题标题】:Format xml with properties with acts_as_api使用acts_as_api 使用属性格式化xml
【发布时间】:2013-10-14 08:34:22
【问题描述】:

我对acts_as_api 有疑问。 我想像这样格式化一个 xml 字符串:

<root>
  <child property="property_value">Some Text</child>
  etc
</root>

这可能吗?

先谢谢了

【问题讨论】:

    标签: ruby-on-rails rest activemodel


    【解决方案1】:

    我认为这不会自动工作,因为您想将数据放在 XML 结构中的两个不同位置:

    • 节点的属性
    • 节点的内容

    但是您的模型的属性包含一个哈希。 acts_as_api(或其他序列化程序)无法确定哪些属性应该在属性中,哪些应该作为内部文本。

    对于这种情况,您必须提供自己的序列化程序(您可以查看http://api.rubyonrails.org/classes/ActiveRecord/Serialization.html#method-i-to_xml,了解如何在 Rails 中执行此操作。

    【讨论】:

    • 嗨 chrix_b,感谢您的回复。我已经用 Nokogiri 和 XML 解决了这个问题,这是快速简单的解决方案。无论如何,谢谢和祝贺,acts_as_api 是一个非常酷的项目 :-)
    【解决方案2】:

    acts_as_api 的预期用途是与键值对一起使用。

    如果您想通过混合内容和结构来打破这种约定,您可能最好在不使用库支持的情况下创建自己的 xml。

    您可以做的,我认为这不是一个好主意,就是将对acts_as_api 的一次调用的结果放入您的root 标记的值中。

    您也许可以重用子模型的acts_as_api 行为。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 2014-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多