【问题标题】:Serialize a list of strings where each element in the list is an element in the XML with Java SimpleXml使用 Java SimpleXml 序列化字符串列表,其中列表中的每个元素都是 XML 中的元素
【发布时间】:2015-04-07 12:21:30
【问题描述】:

我正在尝试使用 Java 中的 simplexml 将几个对象序列化为 xml。我有以下对象:

@Root()
class foo {
    @ElementList
    List<bar> foo;
}

@Root()
class bar {
    @Element
    String bar;
}

输出是:

<foo>
    <bar>
        <bar>a</bar>
    </bar>
    <bar>
        <bar>b</bar>
    </bar>
    ...
</foo>

但是,我想要的是:

<foo>
    <bar>a</bar>
    <bar>b</bar>
    ...
</foo>

知道如何实现这一点吗?我正在使用遗留代码,不幸的是我根本无法更改 xml 结构。我有一种感觉,我可能需要为 foo 对象创建一个自定义序列化程序,以便不序列化外部栏。谢谢!

【问题讨论】:

  • 如果不能改变XML,为什么不改变Java类呢?例如 List foo; -> 列表 foo;

标签: java arraylist xmlserializer simple-framework


【解决方案1】:

我认为您可以使用@Text annotation 向栏元素添加文本:

@Root()
class bar {
    @Text
    String bar;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多