有很多xml 和 java object 的binding tools,最近看到xstream这个名词,然后又有一个同事正好在用,所以看了一下,发现和castor很类似(虽然官网说it's not a data binding tools but a serialization tool,我觉得还是很象的)——默认不配置的情况下使用都很简单方便。
(i)首先在默认不配置的情况下
1. object -> xml:castor的命名方式似乎根好一点,而且很不喜欢xstream没有一个默认获取alias的规则--总是输出类全名,很麻烦。
2. xml -> object:如果你将上面的输出文件修改一下的话(比如元素改为属性) ,castor还能识别,xstream就不行。
(ii) 配置
如果你双向的绑定(可逆的转换),建议你用xstream的annotation和castor的mapping.xml 这两种方式,2种实现都是不错的。配置简单明了.
(iii) 序列化手段
castor是通过get,set以及public 成员来获取属性的;但是xstream直接获取成员变量(包括private的)
此外,xstream 还提供了多个对象序列化到一个文件的功能(java序列化实现),以及序列化一组对象到N个文件的集合方法;支持json序列化和反序列化;支持annotation的配置,这个还是很不错的,强烈建议总是使用这种方式来使用xstream .
xstream总体上给人比较新而轻的感觉:) -- 一直以来印象中castor是很小巧的,这次一看1.1.2.1-xml.jar有1MB ...汗
ps:
1. 好久不用 castor竟然mapping一开始都没正确读取-- 使用mapping时,不能调2个参数的那个静态方法,否则mapping 无效.
2. 通过反射竟然可以获取private 属性...以前以为不可以(如果设置了安全策略应该没有这么简单),获取方法如下:
publicclassTest...{
privateStringstr="csdn";
privatevoidprint()...{
System.out.println("str="+str);
;
}
publicstaticvoidmain(String[]args)throwsException...{
Testt=newTest();
t.print();
Field[]f=t.getClass().getDeclaredFields();
for(inti=0;i<f.length;i++)...{
f[i].setAccessible(true);
//System.out.println(f[i].getType());
f[i].set(t,"floyd");
}
t.print();
}
}
分享到:
相关推荐
XStream 反序列化漏洞(CVE-2020-26258 & 26259),修复jar包 xstream-1.4.15.jar Xstream 是 Java 类库,用来将对象序列化成 XML (JSON) 或反序列化为对象。XStream 是一款开源软件,允许在 BSD 许可证的许可下分发...
赠送jar包:xstream-1.4.11.jar; 赠送原API文档:xstream-1.4.11-javadoc.jar; 赠送源代码:xstream-1.4.11-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.11.pom; 包含翻译后的API文档:xstream-1.4.11-...
最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar 最齐全的xstream1.4.8.jar ...
xstream最新版jar包
com.thoughtworks.xstream.converters.ConversionException: No field 'null' found in class '.....(注解的类路径)' ---- Debugging information ---- message : No field 'null' found in class '.....' cause...
XStream在运行时使用Java反射机制对要进行序列化的对象树的结构进行探索,并不需要对对象作出修改。XStream可以序列化内部字段,包括私private和final字段,并且支持非公开类以及内部类。 在缺省情况下,XStream不...
赠送jar包:xstream-1.4.7.jar; 赠送原API文档:xstream-1.4.7-javadoc.jar; 赠送源代码:xstream-1.4.7-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.7.pom; 包含翻译后的API文档:xstream-1.4.7-javadoc-...
xstream-1.4.19.jar
xstream jar包,java对象转xml以及xml转java对象,操作很简单。
xstream-1.4.20.jar
赠送jar包:xstream-1.4.7.jar; 赠送原API文档:xstream-1.4.7-javadoc.jar; 赠送源代码:xstream-1.4.7-sources.jar; 赠送Maven依赖信息文件:xstream-1.4.7.pom; 包含翻译后的API文档:xstream-1.4.7-javadoc-...
xstream-1.4.7.jar XML
使用 XStream 不用任何映射就能实现多数 Java 对象的序列化。在生成的 XML 中对象名变成了元素名,类中的字符串组成了 XML 中的元素内容。使用 XStream 序列化的类不需要实现 Serializable 接口。XStream 是一种序列...
XStream组件进行Object与XML互转用法 1.所需求jar包: xstream-1.3.1.jar 2.如果仅进行OBJECT与XML之间互转只需要这一个jar 包及XStream这一个类就可又了 用法说明: 1.OBJECT 转XML //第一步:准备好要进行XML...
powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-classloading-xstream-1.4.7powermock-class...
修改XStream源码,解决SAE不支持XStream的问题。
xstream-1.4.2.jar,官网上也有,由于本人分没了,希望有分的同志给点分。如果你也每份,请上官网下,地址:http://xstream.codehaus.org/download.html
xstream中xml与javaBean的互转
XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换。将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件。
xStream完美转换XML、JSON,包括XML转换成对象,以及对象转换成XML,以及对象转换成JSON,以及注意事项