【问题标题】:How can I make pre-configured templates using XStream如何使用 XStream 制作预配置模板
【发布时间】:2012-09-25 15:23:57
【问题描述】:

我目前正在开发一个使用 XStream 从 XML 创建对象的系统。一个示例对象是

@XStreamAlias("TestClass")
public class TestClass{

@XStreamAlias("format")
private String format;

public String getFormat(){
    return format;
}

public void setFormat(String format){
    this.format = format;
}
}

这个类有一个字段,一个格式字段,构造它的 XML 如下所示:

<TestClass>
    <format>foo</format>
</TestClass>

现在我想用特定的格式实例化这个类的不同实例。例如,我想要一个格式为 foo 的 TestClass 对象和一个格式为 bar 的对象。但不是生产

<TestClass>
    <format>foo</format>
</TestClass>

<TestClass>
    <format>bar</format>
</TestClass>

我想使用某种别名系统,这样就不需要上面的 XML,而是可以使用

<TestClassFoo />
<TestClassBar />

其中的名称当然不需要包含指定的格式。

我看到必须有一个自定义转换器,但我再次不想硬编码每个别名,而是从 XML 加载它们(是的,它变得复杂)。这样做的结果是为不同的 XML 对象创建快捷模板,可以动态配置。

【问题讨论】:

    标签: java xml xstream


    【解决方案1】:

    如果您的目标是更紧凑的 XML,为什么不使用 @XStreamAsAttribute,这样您会得到像 &lt;TestClass format="foo"/&gt; 这样的输出?否则,是的,您将不得不编写一个自定义转换器来完成您想要的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-22
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 2018-09-16
      • 1970-01-01
      • 1970-01-01
      • 2015-01-04
      相关资源
      最近更新 更多