您现在的位置是:首页 > 技术交流技术交流
java转xml maven扩展包推荐 比XStream与JAXB更好的xml方式
上善若水2020-08-14 14:55:36【技术交流】 4605人已围观
简介最近在做java转xml时遇到了一些问题,在百度上搜索可用的jar时,首先搜索到的是JAXB放时,这种方式我遇到的两个问题,后来换成XStream,还行,直到我在maven仓库中找到了jackson-
最近在做java转xml时遇到了一些问题,在百度上搜索可用的jar时,首先搜索到的是JAXB放时,这种方式我遇到的两个问题,后来换成XStream,还行,直到我在maven仓库中找到了jackson-dataformat-xml
,这才是最完美的方式.
首先说说jackson-dataformat-xm
jackson-dataformat-xm
1.首先引入jar包
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.11.1</version>
</dependency>
2.部分核心注解
@JacksonXmlRootElement(localName = "Request")
public class LazadaCreateProductRequest {
@JacksonXmlProperty(localName = "Product")
private LazadaCreateProduct Product;
public LazadaCreateProduct getProduct() {
return Product;
}
public void setProduct(LazadaCreateProduct Product) {
this.Product = Product;
}
}
使用方式
//2.将javaBean装换xml字符串
XmlMapper xml = new XmlMapper();
xml.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);//添加xml头部
String createProductPayload=null;
xml.enable(SerializationFeature.INDENT_OUTPUT);//美化xml方便查看
try {
createProductPayload = xml.writeValueAsString(lazadaCreateProductRequest);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
说说我在JAXB
遇到的坑
1.自己建立测试项目使用jdk13没有问题,吧代码移植过来后就报java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
,需要手动在maven中引入jar包十分麻烦.
2.JAXB
在解析对象为map
的成员变量时,不能正确的解析,效果会是下图这样.
再说说我在XStream
XStream其实还不错,就是使用起来会给你一个警告,高版本jdk貌似体验不是蛮好,然后我就放弃使用
很赞哦! (13)
相关文章
随机图文
-
linux 设置目录所属用户组 chown -R www:www /www/wwwroot/default
linux 设置目录所属用户组,我们经常需要将网站目录给设置成www用户组,每次老是忘记,只知道是chown命令例一:改变拥有者和群组命令:chown runoob:runoobgroup log1. -
php技术提升心得与方法
现在的PHP市场虽然充斥了大量的的PHP开发人员,但这些人当中真正能称得上高手的却寥寥无几。很多公司虽然招聘了一些PHP开发人员,但是由于技术水平不高,导致公司的项目一直堆积。这不仅另公司无奈也让已经入职的PHP开发人员着急,他们也想要在PHP领域更近一步,但却苦于找不到提高自己的方法,下面我们的鸥仔收集了一些PHP大神的一些工作方式、习惯,让大家看看PHP大神们是如何工作,也希望这些方法能帮助到那些想要在PHP领域更近一步的人。 -
php 自己打包一个composer包
今天尝试自己自己封装一个包,以后就可以直接composer安装方便复用,一开始看到别人有将官方提供 的包给做成composer包,方便使用,记录下自己的过成. 首先准备一个已经初始话过的仓库地址 并 -
java double转string去除科学计数法"E" 非tostring()和valueOf()
在遇到需要将double类型转换string类型时,会出现转成科学计数法的形式,希望字符串能原样输出.直接使用会报java.lang.Double cannot be cast to java.lan