首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>java>Java基础>正文

JAVA进阶--根据所涉及对象生成XML文档

http://www.oklinux.cn  2008-01-20  来源: ccidnet baocl  会员收藏  游客收藏  【 】 

根据对象生成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>25< /int>
< /void>
< void property="gender">
< string>kate< /string>
< /void>
< void property="name">
< string>liuying< /string>
< /void>
< void property="phone">
< string>44557788< /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姓名:liuying; 性别:kate; 年龄:25; 电话:44557788


上一篇:Java基础:编写对GC友好,又不泄漏的代码   下一篇:Ajax技术:构建动态的Java应用程序分析


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Java基础:编写对GC友好,又不泄漏的代码
·Ajax技术:构建动态的Java应用程序分析
·对Map技巧的一点总结:获得Map中的数据
·Java进阶--减少对象的创建提高java性能
·Java语言对象池技术的原理及其实现解析
·Java进阶-编写跨平台Java程序注意事项
·Java语言常用VI高级命令集锦
·学习Java用于异常处理的terminate()函数
·JAVA高级--Java中异常机制的深入研究
·使用isInstanceOf()测试程序对象的类型
·一个基于Java Socket实现文件传输示例
·Java Interface 是常量存放最佳地点吗?
·JAVA进阶--使用Java进行Web开发的随想
·JAVA进阶--线程运行栈信息的获取讲解
·讨论分析应将应用程序的设定存在哪里?
·Jsp输出excel文档和中文乱码问题的解决
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Java入门:状态对象--数据库的替代者
·Java语言怎样调用外部应用程序
·Java语言深入--关于Java语言的内存泄漏
·JSP/Servlet/JSF:Servlet/JSP配置详解
·进阶-怎样使用AJAX进行WEB应用程序开发
·基础:J2ME程序开发之新手入门九大要点
·Java入门--Java语言接口与继承的本质
·JAVA进阶--如何提升JSP应用程序的效率
·对Java中四种XML解析技术之不完全测试
·编写高级 JScript应用代码
·JSP/Servlet/JSF--对标签库的深入研究
·Java入门--关于字符串分割的两种方法
  阅读排行
·使用AJAX技术实现网页无闪自动局部刷新
·快速教您Apache Tomcat SSL的配置
·Java语言深入--java调用C/C 的过程
·用JSP JavaScript打造二级级联下拉菜单
·JAVA进阶--线程运行栈信息的获取讲解
·J2SE综合--JAVA实现把汉字转化成拼音
·使用WEBWORK实现文件上传方法实例详解
·一个非常有趣的使用spring框架AOP例子
·关于java中相对路径,绝对路径问题总结
·高级:lucene全文检索应用示例及代码简
·详细讲解Struts构架中action的跳转大全
·Hibernate配置文件中的映射元素详解
·在Weblogic上配置JMS服务的方法
·对Java中四种XML解析技术之不完全测试
·数据库相关:小结Hibernate的查询方式
网摘收藏: