使用SAXReader需要导入dom4j-full.jar包。

     dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。

/**
* 解析XML文件,生成 List<Map>
* @param filePath-- xml文件的路径
* @return
*/
public List<Map> readFileToList(String filePath){
File file = new File(filePath);
SAXReader saxReader = new SAXReader();
List<Map> xmList = new ArrayList<Map>();
Map<String, String> nodeValueMap;
try {
Document document = saxReader.read(file);
Element employees = document.getRootElement();
for (Iterator i = employees.elementIterator(); i.hasNext();) {
Element employee = (Element) i.next();
for (Iterator j = employee.elementIterator(); j.hasNext();) {
Element node = (Element) j.next();
nodeValueMap = new HashMap<String, String>();
if("ooo".equals(node.getName())){
for (Iterator z = node.elementIterator(); z.hasNext();) {
Element node2 = (Element) z.next();
String key = node2.attributeValue("Name");
String value = node2.attributeValue("value");
nodeValueMap.put(key, value);
}
xmList.add(nodeValueMap);
}else {
continue;
}
}
}
} catch (DocumentException e) {
logger.error(e.getMessage());
}
return xmList;
}