【问题标题】:How can I generate attributes with obj2xml for ruby classes generated from xsd2ruby?如何使用 obj2xml 为从 xsd2ruby 生成的 ruby​​ 类生成属性?
【发布时间】:2015-11-04 02:29:03
【问题描述】:

我使用了随soap4r 提供的实用程序xsd2ruby 实用程序从XSD 模式定义文件生成所需的类。这很好用,但是当我尝试使用 XSD::Mapping.obj2xml 生成 xml 文件时,属性并没有按照我的预期(或希望)创建。我想要以下内容:

  <obj attr1=value1 attr2=value2>
    <element1>value</element1>
  </obj>

但这是生成的:

 <obj>
    <__xmlattr>
      <item>
        <key>
          <name>attr1</name>
          <namespace></namespace>
          <source></source>
        </key>
        <value>value1</value>
      </item>
      <item>
        <key>
          <name>attr2</name>
          <namespace></namespace>
          <source></source>
        </key>
        <value>value2</value>
      </item>
    </__xmlattr>
    <element1>value</element1>
  </obj>

如何在没有 xmlattr 的情况下生成 XML 输出?

【问题讨论】:

    标签: ruby xml xsd soap4r


    【解决方案1】:

    据我记得XSD::Mapping.obj2xml XML 将使用实例的实例变量作为元素名称,并将它们的值作为子元素。就这样。如您所见,随着实例变量@__xmlattr 得到特殊处理。

    为了解决这些限制,我写了jaxb2ruby。它基于 ERB 模板生成类。您可以使用内置模板之一(ROXMLHappyMapper 或纯 ruby​​ 类)或编写自己的模板。

    这并不完美,但在某些情况下对我来说效果很好。

    您可能还想结帐ROAR

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      相关资源
      最近更新 更多