一、简单例子
简单的说明一下XStream的用法,此例是把Person和PhoneNumber两个之间有关系的类解析成一个XML。这个例子需要xstream-1.3.1.jar和xpp3_min-1.1.4c.jar两个包。
public class Person {
private String firstName;
private String lastName;
private PhoneNumber phone;
private PhoneNumber fax;
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
// Getter and Setter
}
public class PhoneNumber {
private int code;
private String number;
public PhoneNumber(int code, String number) {
this.code = code;
this.number = number;
}
// Getter and Setter
}
public class Test {
public static void main(String[] args) {
// XStream默认的构造函数是调用XPP3来解析XML的,
// XPP3是一个pull-parser实现,据说这是目前最快的解析XML的类
// 我们也可以不用这个,还用JAXP去解析
// XStream xstream = new XStream(new DomDriver());
XStream xstream = new XStream();
// 为类设置别名
// 如果不设置,生成的XML会是类的全称,含包名
xstream.alias("person", Person.class);
xstream.alias("phonenumber", PhoneNumber.class);
Person joe = new Person("Joe", "Walnes");
joe.setPhone(new PhoneNumber(123, "1234-456"));
joe.setFax(new PhoneNumber(123, "9999-999"));
// 解析Object成XML
String xml = xstream.toXML(joe);
// 把XML解析成Object
Person newJoe = (Person)xstream.fromXML(xml);
}
}
生成结果:
<person>
<firstName>Joe</firstName>
<lastName>Walnes</lastName>
<phone>
<code>123</code>
<number>1234-456</number>
</phone>
<fax>
<code>123</code>
<number>9999-999</number>
</fax>
</person>
从这个例子可以看到,有了XStream这个工具例,Object转换成XML,或把XML转换成Object是多么的简单。
二、XStream结合XSL
XStream xstream = new XStream();
xstream.alias("person", Person.class);
File file = new File("test\\appAuditAllRequest.xsl");
TraxSource traxSource = new TraxSource(new Person("Joe", "Walnes"), xstream);
Writer buffer = new StringWriter();
Transformer transformer = TransformerFactory.newInstance().newTransformer(
new StreamSource(file));
transformer.transform(traxSource, new StreamResult(buffer));
分享到:
相关推荐
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,以及注意事项