一个Jdom用法的简单例子

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();
	}
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值