xml与java对象转化库JAXB与XStream的对比
简介
JAXB与XStream都能实现
- 把java对象转化成xml文件
- 把xml文件转化成java 对象
在实际工作,处理 xml 是个比较常见的工作。
选择一个使合适的库,可能会事倍工半。
共同点
- 使用都比较方便,用几代码就可以进行转化成java对象
- 都支持注解,支持节点指定名称
不同点
- jaxb不支持泛型,xsteam支持
- xstream格式化的xml不带字符集,通过外部的流来写字符集的。jaxb可以通过
Marshaller.JAXB_ENCODING
参数指定 - jaxb 的注解有些不直观,而且要必选比如不加
@XmlAccessorType(XmlAccessType.FIELD)
的话,@XmlElement(name="xxx")
就得写到方法上才不报错。xstream的注解用起来还没发发现有什么问题。
使用示例
jaxb
1 |
|
xstream
1 |
|
总结
也是初步接触,性能上的差别,还没有测试。测试过再补上。
从使用感觉受上来说xstream在处理非确定格式上有一定优势,相对好用点。
maven
xstream
1 |
|
jaxb
1 |
|
参考
https://www.mkyong.com/java/jaxb-hello-world-example/
https://www.tutorialspoint.com/xstream/xstream_quick_guide.htm
http://x-stream.github.io
http://www.blogjava.net/ldd600/archive/2009/03/04/257832.html
xml与java对象转化库JAXB与XStream的对比
https://blog.fengcl.com/2017/06/28/convert-java-object-into-xml-tool-jaxb-xstream-difference/