xstream java_XStream将java转化成xml的简单使用

XStream可以用来将java实体转化成xml形式的字符串, 也可以将xml文档的字符串读取成java实体.

jar包依赖地址

com.thoughtworks.xstream

xstream

${xstream-version}

使用方法实例

这是我在网上看的一个教程文档,使用的测试类

package com.hero.test;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import com.thoughtworks.xstream.XStream;

public class TestXstream {

public static void main(String[] args) throws IOException{

Person person = buildPerson();

XStream xStream = new XStream();

//output(1,xStream,person);

// 设置类别名

xStream.alias("Person", Person.class);

xStream.alias("Address", Address.class);

xStream.alias("Profile", Profile.class);

output(2,xStream,person);

设置类成员变量的别名

//xStream.aliasField("NAME", Person.class, "name");

//xStream.aliasField("JOB", Profile.class, "job");

//output(3,xStream,person);

设置类的成员为xml节点的属性

//xStream.useAttributeFor(Address.class, "add");

//output(4,xStream,person);

设置类的成员为xml节点的属性的别名

//xStream.aliasAttribute(Address.class, "add", "ADD");

//output(5,xStream,person);

// xml转java

//String xml = buildXml();

//System.out.println(xStream.fromXML(xml).toString());

}

public static void output(int i,XStream xStream, Person obj) throws IOException{

System.out.println("****************第"+i+"次输出******************");

File file = new File("/Users/admin/Documents/temp/xml/"+obj.getName()+".xml");

FileOutputStream os = new FileOutputStream(file);

String xml = xStream.toXML(obj);

System.out.println(xml);

byte[] bt = xml.getBytes();

os.write(bt);

os.flush();

os.close();

}

public static Person buildPerson(){

Address add1 = new Address("人民路","200001");

Address add2 = new Address("达夫路","200002");

List

addlist = new ArrayList
();

addlist.add(add1);

addlist.add(add2);

Profile profile = new Profile("工程师","021-0001","这是备注");

Person person = new Person("mary","23",profile,addlist);

return person;

}

public static String buildXml(){

String xml = ""+

"mary"+

"23"+

""+

"工程师"+

"021-0001"+

"这是备注"+

""+

""+

"

"+

"人民路"+

"200001"+

"

"+

"

"+

"达夫路"+

"200002"+

"

"+

""+

"";

return xml;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值