自己原来写过一些,但用过的xstream和castor就摒弃山寨版本了,总体来说这两个都很方便,但各有千秋吧
需要转换的bean
public class TestBean {
String name;
int age;
String phone;
String address;
public TestBean(String name, int age, String phone, String address) {
this.name = name;
this.age = age;
this.phone = phone;
this.address = address;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
castor版本
public class Bean2Xml {
public static void main(String[] args) throws MarshalException,
ValidationException {
TestBean tb = new TestBean("aaa", 12, "12345678", "114445");
long time = System.currentTimeMillis();
StringWriter sw = new StringWriter();
Marshaller.marshal(tb, sw);
System.out.println(System.currentTimeMillis() - time);
System.out.println(sw.toString());
System.out.println(sw.toString().length());
}
}
输出:
引用
2171
<?xml version="1.0" encoding="UTF-8"?>
<test-bean age="12"><address>114445</address><phone>12345678</phone><name>aaa</name></test-bean>
135
xstream版本:
public class Bean2XmlBeta {
public static void main(String[] args) {
TestBean tb = new TestBean("aaa", 12, "12345678", "114445");
long time = System.currentTimeMillis();
XStream xStream = new XStream();
xStream.alias("bean", TestBean.class);
String xml = xStream.toXML(tb);
System.out.println(System.currentTimeMillis() - time);
System.out.println(xml);
System.out.println(xml.length());
}
}
输出:
引用
145
<bean>
<name>aaa</name>
<age>12</age>
<phone>12345678</phone>
<address>114445</address>
</bean>
103
稍微解释一下,同一个bean,xstream在转化效率上比castor高了一个数量级。
具体应用中就得看需求了,譬如现在项目需要为flex提供饼图所需要的数据,而flex的饼图组建不支持xstream这样的xml,而需要castor这般的格式,也就只能牺牲效率了。
附件为castoer和xstream的几个jar包,欢迎下载
分享到:
相关推荐
javabean生成xml.xml转换成javabean的工具类
xml转javaBean,javaBean转xml,xml标签大小写问题,CDATA的生成,以及对xml特殊符号的处理
javaBean生成xml,xtream使用例子
实现javabean转换xml,以及xml转换javabean,,尤其是做数据对接时,使用webservice时,很方便
XStream示例代码,JavaBean与XML,JSON之间互相转换(包含完整jar包)jettison-1.3.3.jar、xmlpull-1.1.3.1.jar、xstream-1.4.7.jar
xml文件与javabean之间的转换,javabean生成xml文件,再将xml文件转换成javabean,输出到控制台上
使用jox-1.17b3.jar javabean和Document对象的互转 将Document对象写入xml文件
NULL 博文链接:https://summerbell.iteye.com/blog/372963
一个小demo展示xml的两种解析方式和四种解析方法,以及使用XStream进行javaBean与xml、json之间的转换
javaBean 与 xml 互转,提供工具类。只需要把需要转换的类放入,就可以。使用。
在已经有xml的情况下,快速生成javabean代码,不需要自己再手打大量无聊的代码。
JavaBean和xml转换demoJavaBean和xml转换demoJavaBean和xml转换demoJavaBean和xml转换demo
在开发过程中JavaBean与xml之间相互转换,jox给我们提供了很好的方便,但是jox官网已关闭,所以在这里方便大家下载使用;此资源中包含了jox所有依赖的jar包;解决xml中文格式化问题,JOXBeanOutputStream joxOut = ...
javabean转换xml映射文件工具,可用于castor框架。JDK6编译、运行。
文章中的例子,直接下载载入即可使用。建议先看效果,再研究相关理论。
xml to xsd 进而实现XML与javaBean互转,并且附上具体的使用博客 http://blog.csdn.net/sinat_34979884/article/details/78501892
XML与JavaBean互换文件 XML与JavaBean互换文件 XML与JavaBean互换文件 XML与JavaBean互换文件
轻松的实现javaBean到XML的转换,和XML到javaBean的转换
NULL 博文链接:https://luyuwww.iteye.com/blog/1988355
NULL 博文链接:https://defrag-sly.iteye.com/blog/903650