Java+Jackson+XML:将一个java对象属性序列化为XML个同名元素

Java+Jackson+XML: serialize a java object properties as XML elements with same names

我有一个 Java 对象,我想使用 Jackson 库将它序列化为 XML :

public class Point {
    private Integer x;
    private Integer y;
    //getters/setters
}

我想将其序列化为以下格式:

<point>
    <property name="x" value="1" />
    <property name="y" value="1" />
</point>

而不是我使用 Jacskon 得到的:

<point>
    <x>1</x>
    <y>1</y>
</point>

我不想更改 Point 对象属性或结构。有没有办法 使用 Jackson 注释或自定义序列化程序将 Point 对象序列化为所需格式?如果是,那我该怎么做?

我正在使用 Jackson 库:

public class Serializer {
    XmlMapper mapper = new XmlMapper();

    public void serialize(File file, Object object) throws IOException {
        mapper.writeValue(file, object);
    }

}

您需要将这些属性标记为如下属性:

public class Point {

    @JacksonXmlProperty(isAttribute = true)
    private Integer x;
    @JacksonXmlProperty(isAttribute = true)
    private Integer y;
    //getters/setters
}