1

我一直在使用 jackson-dataformatter-v2.9.10 将 Java 类序列化为 XML 字符串。

这是我的课:

public class parent()
{
    public ArrayList<String> children;

    public parent() {
       
         children = new ArrayList<String>();
    }
}

这是我想要实现的目标:

<parent>
    <children>
      <child>John</child>
      <child>Ben</child>
      <child>Mary</child>
    </children>
</parent>

这是我得到的:

<parent>
    <children>
      <children>John</children>
      <children>Ben</children>
      <children>Mary</children>
    </children>
</parent>

关于如何更改 ArrayList子元素名称的任何建议?

4

2 回答 2

2

同时使用@JacksonXmlElementWrapper@JacksonXmlProperty在列表字段上。

这是一些示例代码:

    @JacksonXmlElementWrapper(localName = "children")
    @JacksonXmlProperty(localName = "child")
    private List<String> child = new LinkedList<>();

ElementWrapper 用于外部元素(包含重复元素的元素)。XmlProperty 用于内部元素(重复的元素)。

于 2020-08-06T17:40:04.633 回答
0

你应该可以使用

@JacksonXmlElementWrapper(localName = "children")
List<String> child;

https://stackify.com/java-xml-jackson

于 2020-08-06T17:19:59.153 回答