构建XML方法(实体构建XML)

通过注解实现domain转XML

1.引入依赖

项目中用到jackson解析XML以及组建XML

<dependency>
     	<groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>2.8.8</version>
</dependency>

官方文档 https://github.com/FasterXML/jackson-dataformat-xml/wiki/Jackson-XML-annotations

2.示例:

2.1.JacksonXmlProperty

//省略get/set方法
@JacksonXmlRootElement(localName = "Class")
public class Test {

    @JacksonXmlProperty(localName = "chair")
    private String chair;
   }

效果:
<Class>
	<chair>数据<chair>
</Class>

2.2.@JacksonXmlProperty 属性:isAttribute = true

//省略get/set方法
@JacksonXmlRootElement(localName = "Class")
public class Test {

    @JacksonXmlProperty(localName = "chair",isAttribute = true)
    private String chair;
   }

效果:
<Class chair="数据">
</Class>

2.3.JacksonXmlElementWrapper

JacksonXmlElementWrapper用于List属性

//省略get/set方法
@JacksonXmlRootElement(localName = "Class")
public class Test {

    @JacksonXmlProperty(localName = "chairS")
    @JacksonXmlElementWrapper(useWrapping = false) //default is false
    private List<String> chairS;
   }

效果:
<Class>
	<chairS>
		<chairS>数据</chairS>
		<chairS>数据</chairS>
		<chairS>数据</chairS>
		。。。
	</chairS>
</Class>

2.3.1.JacksonXmlElementWrapper属性:useWrapping=false

//省略get/set方法
@JacksonXmlRootElement(localName = "Class")
public class Test {

    @JacksonXmlProperty(localName = "chairS")
    @JacksonXmlElementWrapper(useWrapping = true)
    private List<String> chairS;
   }

效果:
<Class>
		<chairS>数据</chairS>
		<chairS>数据</chairS>
		<chairS>数据</chairS>
		....
</Class>

useWrapping 属性默认时false。需注意

posted @ 2019-10-12 18:51  叶落无蝉鸣  阅读(90)  评论(0编辑  收藏  举报