没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Jdom 学习小结
这几天有时间学习了一下 Jdom,发现用它解析和组织 XML 文件确实很方便,写了一个 Demo,包含了 Jdom 的大
部分功能,程序中的注释详细得不能再详细了,供初学者参考,希望这个对大家学习 Jdom 有所帮助。
下面这个程序只要在 class-path 中加入 jdom.jar 和 log4j.jar 包就可以直接运行了,如果没有 log4j.jar
包,那把程序中所有的 log.info 替换成 System.out.println 就 OK 了。
我也是初学者,程序写得不怎么样,不足之处还请各位高手指教。
QQ:645112395
MSN:2002hust2006@sohu.com
package wmf.study.jdom;
import java.io.*;
import java.text.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.output.*;
import org.jdom.output.Format;
import org.jdom.xpath.*;
import org.apache.log4j.Logger;
/**
*
* JdomDemo
* <p>Title: 学习 JDOM (小结) </p>
*
* <p>Description:初次学习 Jdom 时编写的程序</p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author: 王梦飞
* @version 1.0
*/
public class JdomDemo {
//利用 Log4j 输出调试信息
Logger log = Logger.getLogger(JdomDemo.class);
/*
* 利用 Jdom 组织 XML 文件
*/
public void buildXML() throws IOException {
//创建根节点
Element school = new Element("School");
//创建 Document 对象,将跟节点加进 Document 对象中
Document xmlFile = new Document(school);
/*
* 设置节点的属性
* 可以连续运用 setAttribute("AttributeName", "AttributeValue")来设置多个属性
*/
school.setAttribute("address", "武汉").setAttribute("schoolname", "华中科技大学");
/*
* 需要增加新的节点时
* 需要 NEW 一个 Element 对象,再调用父节点的 addContent 方法将新节点增加到文件中
* 如需要在父节点下增加多个并列的子节点,只需要多次调用父节点的 addContent 方法
* 如: classes.addContent(new Element("name").setText("王梦飞"));
* classes.addContent(new Element("age").setText("24"));
* classes.addContent(new Element("sex").setText("男"));
*/
Element collegeCS = new Element("College").setAttribute("collegeName",
"计算机科学与技术学院");
school.addContent(collegeCS);
/*
* 在创建新节点的时候可以同时通过 setAttribute 来设置节点的属性,
* 或者通过 setText("TextValue")方法设置节点的值
* 一方面可以增加程序的可读性,一方面减少代码的编写量
*/
Element classes = new Element("Class").setAttribute("no", "0212");
classes.addContent(new Element("name").setText("王梦飞"));
classes.addContent(new Element("age").setText("24"));
classes.addContent(new Element("sex").setText("男"));
classes.addContent(new Element("studyTime").setText("2002~2006"));
Element academicYear1 = new Element("academicYear");
Element academicYear2 = new Element("academicYear");
Element academicYear3 = new Element("academicYear");
Element academicYear4 = new Element("academicYear");
classes.addContent(academicYear1.setAttribute("year", "第一学年"));
classes.addContent(academicYear2.setAttribute("year", "第二学年"));
classes.addContent(academicYear3.setAttribute("year", "第三学年"));
classes.addContent(academicYear4.setAttribute("year", "第四学年"));
academicYear1.addContent(new Element("course").setAttribute("courseName",
"C 语言").setText("92"));
academicYear1.addContent(new Element("course").setAttribute("courseName",
"计算机基础").setText("88"));
academicYear1.addContent(new Element("course").setAttribute("courseName",
"高等数学").setText("87"));
academicYear1.addContent(new Element("course").setAttribute("courseName",
"英语").setText("80"));
academicYear2.addContent(new Element("course").setAttribute("courseName",
"汇编").setText("82"));
academicYear2.addContent(new Element("course").setAttribute("courseName",
"离散数学").setText("94"));
academicYear2.addContent(new Element("course").setAttribute("courseName",
"线性代数").setText("86"));
academicYear2.addContent(new Element("course").setAttribute("courseName",
"模拟电路").setText("83"));
academicYear3.addContent(new Element("course").setAttribute("courseName",
"计算机组成原理").setText("88"));
academicYear3.addContent(new Element("course").setAttribute("courseName",
"操作系统").setText("90"));
academicYear3.addContent(new Element("course").setAttribute("courseName",
"Java 语言").setText("87"));
academicYear3.addContent(new Element("course").setAttribute("courseName",
"编译原理").setText("84"));
academicYear4.addContent(new Element("course").setAttribute("courseName",
"C++语言").setText("80"));
academicYear4.addContent(new Element("course").setAttribute("courseName",
"信息安全").setText("81"));
academicYear4.addContent(new Element("course").setAttribute("courseName",
"密码学").setText("80"));
academicYear4.addContent(new Element("course").setAttribute("courseName",
"毕业设计").setText("93"));
/*
* 这里 collegeCS.addContent(classes)中节点 classes 添加到其父节点 collegeCS 中的顺序:
* 可以先设置好节点 classes 的 Text 值和属性及其他子节点再添加到其父节点中
* 也可以先将节点 classes 添加到其父节点中,再设置 classes 的 Text 值和属性
*/
collegeCS.addContent(classes);
Element collegeFL = new Element("College").setAttribute("collegeName",
"外国语学院");
school.addContent(collegeFL);
collegeFL.addContent(new Element("language").setAttribute("kind", "English"));
collegeFL.addContent(new Element("language").setAttribute("kind",
"Japanese"));
collegeFL.addContent(new Element("language").setAttribute("kind", "French"));
collegeFL.addContent(new Element("language").setAttribute("kind", "German"));
/*
* 创建 Format 对象,用于格式化 XML 字符串,XMLOutputter 默认输出的编码方式是 UTF-8
剩余10页未读,继续阅读
zhaojiubo
- 粉丝: 5
- 资源: 145
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页