Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java+;杰克逊&x2B;XML:将java对象属性序列化为具有相同名称的XML元素_Java_Xml_Serialization_Jackson_Jackson Dataformat Xml - Fatal编程技术网

Java+;杰克逊&x2B;XML:将java对象属性序列化为具有相同名称的XML元素

Java+;杰克逊&x2B;XML:将java对象属性序列化为具有相同名称的XML元素,java,xml,serialization,jackson,jackson-dataformat-xml,Java,Xml,Serialization,Jackson,Jackson Dataformat Xml,我有一个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&g

我有一个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>

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

public class Point {

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

看看这里:@MichalFoksa Mixins解决了另一种问题-我可以使用带或不带mixin的注释,但问题仍然存在:如何序列化为请求的格式。
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
}