构建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。需注意