使用XStream的jar包
http://x-stream.github.io/index.html
jar包见附件
XStream is a simple library to serialize objects to XML and back again.
实体类
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;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
}
public void setLastname(String lastname) {
this.lastname = lastname;
}
public PhoneNumber getPhone() {
return phone;
}
public void setPhone(PhoneNumber phone) {
this.phone = phone;
}
public PhoneNumber getFax() {
return fax;
}
public void setFax(PhoneNumber fax) {
this.fax = fax;
}
}
public class PhoneNumber {
private int code;
private String number;
public PhoneNumber(int code,String number){
this.code = code;
this.number = number;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
}
工具类
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.StaxDriver;
import com.wind.study.entity.Person;
import com.wind.study.entity.PhoneNumber;
/**
*
* @author wind
* @date 2016年9月13日 下午4:49:32
* @Description: bean/XML 互转
*/
public class BeanXMLConvertUtil {
public static void main(String[] args) {
XStream xstream = new XStream(new StaxDriver());
//XStream的XML输出更简洁,可以为您的自定义类名创建别名XML元素名称。这是唯一类型的映射需要使用XStream甚至是可选的。
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"));
//bean to XML
String xml = xstream.toXML(joe);
//XML to bean
Person newJoe = (Person)xstream.fromXML(xml);
System.out.println(newJoe.getFirstname());
System.out.println(xml);
}
}
分享到:
相关推荐
下面我们将详细探讨如何实现JavaBean到XML以及XML到JavaBean的转换,并介绍一个用于此目的的工具类和相关的jar包。 首先,JavaBean是一种符合特定规范的Java类,它通常具有公共的getter和setter方法,用于封装属性...
javabean生成xml.xml转换成javabean的工具类
在实际项目中,你可能会创建一个通用的工具类,包含上述方法,以便在任何需要JavaBean和XML互转的地方使用。在提供的`clientDemo`文件中,可能包含了这样的工具类示例,可以进一步研究和理解。 总结来说,JavaBean...
这篇博客主要探讨了几种用于这些格式互转的工具,下面将详细介绍这些工具及其使用方法。 1. **Gson** (Google的JSON库) Gson是由Google提供的一个开源库,它可以将Java对象转换为JSON字符串,反之亦然。使用Gson,...
首先,JAXB的核心组件包括`@XmlRootElement`、`@XmlElement`、`@XmlAttribute`等注解,它们用于标记Java类和类的属性,以便JAXB知道哪些部分应该映射到XML文档的元素和属性上。例如,如果我们有一个简单的`Person`类...
然后,可以调用工具类的方法,传入JavaBean实例和映射文件,来生成对应的XML文件。相反,如果有一个XML文件和相应的映射文件,工具也能反向将XML数据转换回JavaBean实例。 JDK6是这个工具所依赖的Java开发环境,...
**JavaBean与XML互转——基于JAXB2的深度解析** 在Java开发中,XML作为一种通用的数据交换格式,被广泛用于存储和传输数据。而JavaBean则是Java对象的一种简化表示,便于封装和处理业务逻辑。当需要在Java程序中...
Castor提供了灵活性和便利性,可以处理复杂的数据结构和嵌套对象,是Java开发中进行对象-XML转换的一个有效工具。但需要注意的是,与JAXB等其他API相比,Castor的社区支持和更新可能相对较弱,因此在选择时需权衡...
这表明提供的压缩包可能包含一个图形化的XML转Java Bean工具,用户可以通过运行这两个安装程序来在本地计算机上安装和使用该工具。 总的来说,"xml 转Java bean工具"是开发过程中非常实用的辅助工具,能够帮助...
JavaBean和XML之间的转换是Java开发中常见的数据交换方式,特别是在处理配置文件或者进行数据持久化时。这两种格式都有其独特的优势:JavaBean是面向对象的,方便编程,而XML则是一种通用的数据交换格式,易于人阅读...
而JAXB(Java Architecture for XML Binding)是Java提供的一种标准API,它允许我们轻松地在Java对象(javabean)和XML文档之间进行转换。通过JAXB,开发者可以避免手动编写XML解析和序列化代码,极大地提高了开发...
了解这些知识点后,开发者可以根据项目需求和性能要求选择合适的工具或技术来实现XML与JavaBean之间的互转。在实际应用中,还可能涉及到XML Schema验证、命名空间处理、国际化支持等复杂情况,但以上所述内容已经...
JavaBean是一种符合特定规范的Java类,通常用于封装数据,而XML则是一种结构化的数据交换格式,常用来存储和传输数据。下面我们将详细探讨这两个概念以及它们如何在Java持久化中发挥作用。 **JavaBean** JavaBean...
在已经有xml的情况下,快速生成javabean代码,不需要自己再手打大量无聊的代码。
xml 与 bean 互相转换 工具类 1、bean类的属性需要遵守BEAN规范,否则 无法 读存BEAN值。 2、bean类的属性如果 是集合 只支持数组以及List、Map、Set。 3、bean类属性(boolean除外)前面两个字母要么全部小写,要么...
这篇博客将探讨如何使用XStream库实现JavaBean到XML字符串以及XML字符串回转到JavaBean的过程。 首先,让我们了解XStream的基本概念。XStream由Johannes Brodskiy创建,它是一个基于Java的库,提供了简单且高性能的...
而JavaBean是Java编程中的一种特殊类,通常用来封装业务逻辑或数据,符合特定规范,具有getter和setter方法。在Java开发中,有时我们需要将XML数据转换为Java对象,反之亦然,这时XStream库就派上了用场。 XStream...
Apache Commons BeanUtils库提供了一个名为`ConvertUtils`的工具类,它包含了将JavaBean转换为XML的方法。使用此方法可以更灵活地控制XML的生成,但可能需要更多的代码来设置和配置。示例如下: ```java ...