import java.io.IOException;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
/**
*
* 在实际的开发中经常用到一个特殊的信息,这些信息的值很少需要更新,例如一些配
* 置文件,当整个项目开始运行之后,就会很少需要改动,这样的信息如果存放在数据
* 库中存取和修改都是比较麻烦的,另一方面,由于这样的信息的数据量比较小,所以
* 没有必要专门建立一个表来存放该信息,这时候xml文件就可以派上用场了,至于xml
* 的有点和基本格式就不多说了,这里只是简单说一下怎样将xml文件的信息解析出来。
*
* 现在有一个简单的名为personal.xml文件,内容如下:
* <?xml version="1.0" encoding="UTF-8"?>
* <Person>
* <name>estone</name>
* <birth>85/02/03</birth>
* <lover>myself</lover>
*
* <name>estone's lover</name>
* <birth>xx/xx/xx</birth>
* <lover>estone</lover>
* </Person>
*
* 这时候我们需要将<Person>根目录下的所有元素都要解析出来,这时候我们可以使用一个
* java的xml解析工具来实现。具体的代码如下:
* */
/**
* 功能描述:Jdom解析XML文件示例
*
* @author estone
* @version final
* */
public class JdomDemo {
/**
* 该文件存放在D盘根目录下。注意此处路径的写<br>
* 法"\\",因为一个"\"是转义字符,"\\"在程序中转<br>
* 义成我们常用的路径表示形式"\"。<br>
* */
public static String path = "D:\\personal.xml";
/**
* 功能描述:将Personal.xml中所有元素的值都打印出来
* */
public static boolean printlnPersonContent() {
/* 采用默认解析方式 */
SAXBuilder builder = new SAXBuilder(false);
try {
Document xml = builder.build(path);// 获取文档内容
Element root = xml.getRootElement();// 获取文档的根元素
List nameList = root.getChildren("name");// 获取根目录下的所有为name的子元素
List birthList = root.getChildren("birth");// 获取根目录下的所有为name的子元素
List loverList = root.getChildren("lover");// 获取根目录下的所有为name的子元素
System.out.println();
System.out.println("----------------personal.xml----------------");
System.out.println();
for(int i =0;i<nameList.size();i++){
System.out.println(" 元素 name 的值为 "+((Element)nameList.get(i)).getText());
System.out.println(" 元素 birth 的值为 "+((Element)birthList.get(i)).getText());
System.out.println(" 元素 lover 的值为 "+((Element)loverList.get(i)).getText());
System.out.println();
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
public static void main(String[] args) throws Exception {
printlnPersonContent();
}
}
分享到:
相关推荐
JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析、生成、序列化以及多种操作。 JDOM 直接为JAVA编程服务。它利用更为强有力的JAVA语言的诸多特性(方法重载、集合概念以及映射),把SAX和...
主要介绍了java使用Jdom实现xml文件写入操作的方法,以完整实例形式分析了Jdom针对XML文件写入操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
关于XML中DOM解析的主要方法.其中有相关例子的说明。
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...
实例74 实现一个简单的代理服务器 246 实例75 C/S结构的分布式运算 248 第7章 Java B/S结构编程 253 实例76 简单的Servlet程序 254 实例77 简单的留言簿 256 实例78 JSP+Java Bean的计数器 258 实例79 数据库查询 ...
实例149 一个简单的加密和解密程序—凯撒密码 445 实例150 创建对称密钥 447 实例151 CBC方式的加密 448 实例152 CBC方式的解密 450 实例153 计算消息摘要 451 实例154 使用消息摘要保存口令 452 实例155 使用...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
Tcp服务端与客户端的JAVA实例源代码 2个目标文件 摘要:Java源码,文件操作,TCP,服务器 Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多...
18.2 一个简单的标签文件 551 18.3 标签文件的隐含对象 554 18.4 标签文件的指令 555 18.4.1 tag指令 555 18.4.2 attribute指令 556 18.4.3 variable指令 557 18.5 标签文件实例讲解 558 18.5.1 实例一:...
18.2 一个简单的标签文件 551 18.3 标签文件的隐含对象 554 18.4 标签文件的指令 555 18.4.1 tag指令 555 18.4.2 attribute指令 556 18.4.3 variable指令 557 18.5 标签文件实例讲解 558 18.5.1 实例一:...
18.2 一个简单的标签文件 551 18.3 标签文件的隐含对象 554 18.4 标签文件的指令 555 18.4.1 tag指令 555 18.4.2 attribute指令 556 18.4.3 variable指令 557 18.5 标签文件实例讲解 558 18.5.1 实例一:...