XStream解析xml文件

1.XStream的基本使用

package Test;
public class MyXStreamUse {
	public static void main(String args[]){
		XStream outstream = new XStream(new DomDriver());
		Company com = new Company();
		com.setName("ABC");
		com.setDate("2012-2-3");
		List<Person> persons = new ArrayList<Person>();
		Person p1 = new Person("A",23);
		Person p2 = new Person("B",24);
		persons.add(p1);
		persons.add(p2);
		com.setEmployees(persons);
		String xml = outstream.toXML(com);
		System.out.println(xml);
                Company com2 = (Company) outstream.formXML(xml);
	}
}
public class Company {
	
	public String name;
	public String date;
	public List<Person> employees;
	...getter/setter/constructor
}
public class Person {
	public String name;
	public int age;
	...getter/setter/constructor
	
}
输出结果:

<Test.Company>
  <name>ABC</name>
  <date>2012-2-3</date>
  <employees>
    <Test.Person>
      <name>A</name>
      <age>23</age>
    </Test.Person>
    <Test.Person>
      <name>B</name>
      <age>24</age>
    </Test.Person>
  </employees>
</Test.Company>

2.常用函数和相应注解

outstream.alias("Company", Company.class);
outstream.alias("Person", Person.class);//设置类的别名
outstream.useAttributeFor(Company.class, "name");//设置类中某一个字段作为类的一个属性,即xml文件中一个标签的属性
outstream.aliasField("employ-name", Person.class, "name");//为类中一个字段起一个别名
//outstream.addImplicitCollection(Company.class, "employees");//去掉注释,就没有<employees这个标签>
输出结果

<Company name="ABC">
  <date>2012-2-3</date>
  <employees>
    <Person>
      <employ-name>A</employ-name>
      <age>23</age>
    </Person>
    <Person>
      <employ-name>B</employ-name>
      <age>24</age>
    </Person>
  </employees>
</Company>

相应注解

@XStreamAlias(别名)

@XStreamAsAttribute(作为标签属性)

@XStreamImplicit(itemFieldName="input-file")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值