`
zqding
  • 浏览: 97028 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JAVA对象与XML互相转变

阅读更多

简单介绍下JAVA对象与XML互相转变,详细请进入http://xstream.codehaus.org/tutorial.html

1、首先下载需要用的jar包:xstream-1.3.1.jar,并放置在ClassPath目录下

2、用到的两到JavaBean:

 

/**
 * File   : PhoneNumber.java
 * Author : zqding
 * Date   : 2011-1-21
 * Version:
 * Desc   : 	
 */
package org.usc.beans;

public class PhoneNumber {
	private int code;
	private String number;

	public PhoneNumber(){
		
	}
	
	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;
	}
}

 

 

/**
 * File   : Person.java
 * Author : zqding
 * Date   : 2011-1-21
 * Version:
 * Desc   : 	
 */
package org.usc.beans;

public class Person {
	private String firstname;
	private String lastname;
	private PhoneNumber phone;
	private PhoneNumber fax;

	public Person(){
	}
	
	public Person(String name,String lname){
		this.firstname = name;
		this.lastname = lname;
	}
	
	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;
	}

}

 

3、测试代码:

 

/**
 * File   : ObjectToXML.java
 * Author : zqding
 * Date   : 2011-1-21
 * Version:
 * Desc   : 	
 */
package org.usc.reflection;

import org.usc.beans.Person;
import org.usc.beans.PhoneNumber;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;;

public class ObjectToXML {
	public static void main(String[] args) {
		  //1、对象转变成XML
		  Person person = new Person("Joe", "Walnes");
		  person.setPhone(new PhoneNumber(123, "1234-456"));
		  person.setFax(new PhoneNumber(123, "9999-999"));
		   
		  XStream xStream=new XStream(new DomDriver());
		  xStream.alias("person",Person.class);
		  String xml=xStream.toXML(person);
		  System.out.println(xml);
		  
		  //2、XML转变成对象
		  Person newJoe = (Person)xStream.fromXML(xml);
		  System.out.println(newJoe.getFirstname());
		  System.out.println(newJoe.getPhone().getNumber());
	}
}

 

4、显示结果:

 

<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>
Joe
1234-456
分享到:
评论

相关推荐

    基于JAVA平台的中间件技术

    它允许Java对象通过网络调用其他Java对象的方法,从而实现远程对象间的通信。 #### 三、基于Java平台的中间件技术详解 **2.1 分布式对象编程基础** - **XML编程基础**:XML(Extensible Markup Language,可扩展...

    基于XML的政府电子公文交换系统规范与设计实现手抄版.docx

    整体来说,基于XML的政府电子公文交换系统规范与设计实现,是通过结合多种关键技术,构建了一个高效、安全、可扩展的公文流转平台,实现了传统纸质公文向数字化公文的转变,提升了政府及企事业单位的办公效率,降低...

    android面试题

    - Java中是值传递,但对象引用是按值传递的,所以方法内修改对象属性会改变原对象。 28. **生成随机数数组**: - 使用Random类,遍历数组生成。 29. **统计整数范围**: - 遍历数组,根据条件计数。 30. **int...

    Android使用串口的代码

    首先,理解USB OTG:USB OTG是一种USB规范,允许设备在没有主机的情况下互相连接并交换数据。在Android手机上,可以通过OTG功能将USB接口转变为一个能够连接其他设备的主机端口,比如串口转接器。 接下来,我们需要...

    C#系列教程

    - 比尔·盖茨曾表示,.NET的目标是将Internet转变为一个可以互相交换组件的地方。 - **1.2 .NET与C#** - C#作为.NET框架的核心编程语言之一,是专门为.NET框架设计的语言。 - .NET框架提供了丰富的库支持以及强大...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    6.2.1 AndroidManifest.xml主程序环境配置 34 6.2.2 移动端工程资源布局 35 6.3 认我测在线认证检测系统的主要功能实现 36 6.3.1用户查询 36 6.3.2订单操作 37 6.3.3个人信息维护 37 6.4.系统功能测试 38 6.4.1 首页...

Global site tag (gtag.js) - Google Analytics