java对象xml_java对象和xml的互相转换

package com.leiwei.test;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import com.leiwei.model.Person;

import com.leiwei.model.Persons;

import com.thoughtworks.xstream.XStream;

/**

*

* @author leiwei

*

* 将 java 对象转换成 xml 或 将 xml 转换成 java 对象

*

* 需要使用到 xstream - 1.3.jar 、 xpp3_min - 1.1.4c.jar

*

*/

public class Test {

public static Persons getPersons() {

// 构建 person 对象,动态的可以从数据库中取出

Person p = new Person(1, "leiwei" ,22);

Person p2 = new Person(2, "jinlei" ,22);

// 把对象放入 person 集合中

List listPerson = new ArrayList();

listPerson.add(p);

listPerson.add(p2);

// 构造出一个 persons 对象

Persons persons = new Persons(listPerson);

return persons;

}

public static void main(String[] args) {

// 取得 persons 对象

Persons persons = getPersons();

// 给每一个实体类取一个别名,作为当前实体的根标签

XStream stream = new XStream();

stream.alias( "persons" , Persons. class );

stream.alias( "person" , Person. class );

// 将 java 对象转换成 xml

String obj2xml = stream.toXML(persons);

System. out .println(obj2xml.toString());

// 将 xml 转换成 java 对象

Persons xml2obj = (Persons) stream.fromXML(obj2xml);

for (Iterator iterator = xml2obj.getListPerson().iterator(); iterator.hasNext();) {

Person person = (Person) iterator.next();

System. out .println(person.getIdCard()+ "--" +person.getName()+ "--" +person.getAge());

}

}

}

package com.leiwei.model;

public class Person {

private int idCard ;

private String name ;

private int age ;

public Person() {}

public Person( int idCard, String name, int age) {

super ();

this . idCard = idCard;

this . name = name;

this . age = age;

}

public int getIdCard() {

return idCard ;

}

public void setIdCard( int idCard) {

this . idCard = idCard;

}

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;

}

@Override

public String toString() {

return "person{" +

"idCard='" + idCard + '\'' +

", name='" + name + '\'' +

", age='" + age + '\'' +

"}\n" ;

}

}

package com.leiwei.model;

import java.util.Iterator;

import java.util.List;

public class Persons {

private List listPerson ;

public Persons() {}

public Persons(List listPerson) {

super ();

this . listPerson = listPerson;

}

public List getListPerson() {

return listPerson ;

}

public void setListPerson(List listPerson) {

this . listPerson = listPerson;

}

@Override

public String toString() {

StringBuffer sb= new StringBuffer();

for (Iterator it= listPerson .iterator();it.hasNext();){

Person p=(Person)it.next();

sb.append(it.toString());

}

return "persons{" +

"listPerson=" + sb.toString() +

"}\n" ;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值