使用Java提供的类生成XML例子
2012-11-09 20:28
344 查看
根据对象生成XML文档.
使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder类
一、生成的xml文件如下:AStudent.xml
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_08" class="java.beans.XMLDecoder">
<object class="User">
<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
public class User {
// 学生姓名
private String name;
// 学生性别
private String gender;
// 学生年龄
private int age;
<
4000
span style="color:rgb(63,127,95);">// 学生电话号码
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();
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String
gender) {
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String
name) {
this.name = name;
}
public String getPhone() {
return 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(newFileInputStream(
inFileName));
// 构造一个XML解码器
XMLDecoder xmlDecoder = new XMLDecoder(bis);
// 使用XML解码器读对象
Object obj = xmlDecoder.readObject();
// 关闭解码器
xmlDecoder.close();
return obj;
}
public static void main(String[]
args) throws IOException {
// 构造一个User对象
User student = new User();
student.setName("wamgwu");
student.setGender("male");
student.setAge(15);
student.setPhone("55556666");
// 将User对象写到XML文件
String fileName = "AStudent.xml";
Object2XML.object2XML(student, fileName);
// 从XML文件读User对象
User aStudent = (User) Object2XML.xml2Object(fileName);
// 输出读到的对象
System.out.println(aStudent.toString());
}
}
运行结果:
C:/java>java Object2XML姓名:liuying; 性别:kate; 年龄:25; 电话:44557788
使用Java提供的java.beans.XMLEncoder和java.beans.XMLDecoder类
一、生成的xml文件如下:AStudent.xml
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.5.0_08" class="java.beans.XMLDecoder">
<object class="User">
<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
public class User {
// 学生姓名
private String name;
// 学生性别
private String gender;
// 学生年龄
private int age;
<
4000
span style="color:rgb(63,127,95);">// 学生电话号码
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();
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String
gender) {
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String
name) {
this.name = name;
}
public String getPhone() {
return 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(newFileInputStream(
inFileName));
// 构造一个XML解码器
XMLDecoder xmlDecoder = new XMLDecoder(bis);
// 使用XML解码器读对象
Object obj = xmlDecoder.readObject();
// 关闭解码器
xmlDecoder.close();
return obj;
}
public static void main(String[]
args) throws IOException {
// 构造一个User对象
User student = new User();
student.setName("wamgwu");
student.setGender("male");
student.setAge(15);
student.setPhone("55556666");
// 将User对象写到XML文件
String fileName = "AStudent.xml";
Object2XML.object2XML(student, fileName);
// 从XML文件读User对象
User aStudent = (User) Object2XML.xml2Object(fileName);
// 输出读到的对象
System.out.println(aStudent.toString());
}
}
运行结果:
C:/java>java Object2XML姓名:liuying; 性别:kate; 年龄:25; 电话:44557788
相关文章推荐
- 使用Java提供的类生成XML例子
- 使用Mybatis提供的mybatis generator来自动生成model/mapper.java/mapper.xml
- 使用Java提供的JAXB生成和解析XML
- java web 生成及使用验证码验证 简单例子
- 【java】struts和ajax的小例子②→js解析生成的xml
- java使用XSL+XML生成HTML文件
- 使用Java解析XML文件或XML字符串的例子
- java使用dom4j读取xml的简单例子
- java序列化/反序列化之xml、protobuf、protostuff 的比较与使用例子
- java使用XSL+XML生成HTML文件
- Java使用DSA密钥对生成XML签名的方法
- 使用JSP + JAVABEAN + XML 开发的一个例子
- Java 基础三:使用Velocity模板生成 xml
- Java&Xml教程(四)使用DOM方式生成XML文件
- 使用JSP + JAVABEAN + XML 开发的一个例子
- java序列化/反序列化之xml、protobuf、protostuff 的比较与使用例子
- Java&Xml教程(四)使用DOM方式生成XML文件
- Java使用Google Zxing生成二维码的例子
- 使用JSP + JAVABEAN + XML 开发的一个例子
- 使用JSP + JAVABEAN + XML 开发的一个例子