使用 Java SimpleXml 序列化一个字符串列表,其中列表中的每个元素都是 XML 中的一个元素

Serialize a list of strings where each element in the list is an element in the XML with Java SimpleXml

我正在尝试使用 Java 中的简单 xml 将几个对象序列化为 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 对象创建一个自定义序列化程序,以便不序列化外部栏。谢谢!

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

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