根据对象生成XML文档

根据对象生成XML文档. 使用Java提供的java.beans.XMLEncoder
和java.beans.XMLDecoder类

一、生成的xml文件如下:AStudent.xml

<? xml version="1.0" encoding="UTF-8" ?>
< java version ="1.5.0" class ="java.beans.XMLDecoder" >
< object class ="StudentBean" >
< void property ="age" >
< int > 15 </ int >
</ void >
< void property ="gender" >
< string > male </ string >
</ void >
< void property ="name" >
< string > wamgwu </ string >
</ void >
< void property ="phone" >
< string > 55556666 </ string >
</ void >
</ object >
</ java >

二、描述学生的JavaBean

/** */ /**
* 描述学生的JavaBean
*/

public class StudentBean ... {
// 学生姓名
private String name;
// 学生性别
private String gender;
// 学生年龄
private int age;
// 学生电话号码
private String phone;
public String toString()...{
StringBuffer sb
= new StringBuffer();
sb.append(
"姓名:").append(this.name).append("");
sb.append(
"性别:").append(gender).append("");
sb.append(
"年龄:").append(age).append("");
sb.append(
"电话:").append(phone);
return sb.toString();
}


/** *//**
*
@return 返回 age。
*/

public int getAge() ...{
return age;
}

/** *//**
*
@param age 要设置的 age。
*/

public void setAge(int age) ...{
this.age = age;
}

/** *//**
*
@return 返回 gender。
*/

public String getGender() ...{
return gender;
}

/** *//**
*
@param gender 要设置的 gender。
*/

public void setGender(String gender) ...{
this.gender = gender;
}

/** *//**
*
@return 返回 name。
*/

public String getName() ...{
return name;
}

/** *//**
*
@param name 要设置的 name。
*/

public void setName(String name) ...{
this.name = name;
}

/** *//**
*
@return 返回 phone。
*/

public String getPhone() ...{
return phone;
}

/** *//**
*
@param phone 要设置的 phone。
*/

public void setPhone(String phone) ...{
this.phone = phone;
}

}

三、主程序

import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/** */ /**
* 根据对象生成XML文档.
* 使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder类。
* 这是JDK 1.4以后才出现的类
*/

public class Object2XML ... {
/** *//**
* 对象输出到XML文件
*
@param obj 待输出的对象
*
@param outFileName 目标XML文件的文件名
*
@return 返回输出XML文件的路径
*
@throws FileNotFoundException
*/

public static String object2XML(Object obj, String outFileName)
throws FileNotFoundException ...{
// 构造输出XML文件的字节输出流
File outFile = new File(outFileName);
BufferedOutputStream bos
= new BufferedOutputStream(new FileOutputStream(outFile));
// 构造一个XML编码器
XMLEncoder xmlEncoder = new XMLEncoder(bos);
// 使用XML编码器写对象
xmlEncoder.writeObject(obj);
// 关闭编码器
xmlEncoder.close();

return outFile.getAbsolutePath();
}

/** *//**
* 把XML文件解码成对象
*
@param inFileName 输入的XML文件
*
@return 返回生成的对象
*
@throws FileNotFoundException
*/

public static Object xml2Object(String inFileName)
throws FileNotFoundException ...{
// 构造输入的XML文件的字节输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(inFileName));
// 构造一个XML解码器
XMLDecoder xmlDecoder = new XMLDecoder(bis);
// 使用XML解码器读对象
Object obj = xmlDecoder.readObject();
// 关闭解码器
xmlDecoder.close();

return obj;
}

public static void main(String[] args) throws IOException ...{
// 构造一个StudentBean对象
StudentBean student = new StudentBean();
student.setName(
"wamgwu");
student.setGender(
"male");
student.setAge(
15);
student.setPhone(
"55556666");

// 将StudentBean对象写到XML文件
String fileName = "AStudent.xml";
Object2XML.object2XML(student, fileName);
// 从XML文件读StudentBean对象
StudentBean aStudent = (StudentBean)Object2XML.xml2Object(fileName);
// 输出读到的对象
System.out.println(aStudent.toString());
}

}

运行结果:
C:java
> java Object2XML姓名:wamgwu; 性别:male; 年龄: 15 ; 电话: 55556666
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值