日历

2008 8.20 Wed
     12
3456789
10111213141516
17181920212223
24252627282930
31      
«» 2008 - 8 «»

文章搜索

日志文章

2007年10月21日 08:15:49

jdom解析xml文档

理所当然,首先得下载个jdom.jar文件.下面便是jdom解析xml文档的具体实例.注解已标明.
package com.hj;
import java.io.FileInputStream;
import java.net.URL;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class ReadConfig {
/*
* 单例
*/
private ReadConfig() {
}
private static ReadConfig read = new ReadConfig();
public static ReadConfig getInstance() {
return read;
}
/*
* 此方法用来得到XML文档路径,xml文档放于src目录下
*/
public String getPath() {
URL url = ReadConfig.class.getClassLoader().getResource("");
String xml = url.getPath() + "/config.xml";
return xml;
}
/*
* 此方法用来解析XML文档
*/
public Map<String, String> readXml() {
Map<String, String> map = new HashMap<String, String>();
SAXBuilder sb = new SAXBuilder();// jdom解析器
try {
Document doc = sb.build(new FileInputStream(getPath()));// 解析的文档是Document对象
Element root = doc.getRootElement();
List list = root.getChildren();//把得到的元素存放于集合中,方便遍历
List lst = null;
for (Iterator iter = list.iterator(); iter.hasNext();) {
Element e = (Element) iter.next();
lst = e.getChildren();//把得到的元素存放于集合中,循环遍历
for (Iterator iterator = lst.iterator(); iterator.hasNext();) {
Element ee = (Element) iterator.next();
map.put(ee.getName(), ee.getValue());
System.out.println(ee.getName() + ee.getValue());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
}

Tags: jdom解析xml  

类别: java |  评论(0) |  浏览(1990) |  收藏
发表评论