SAXReader saxReader = new SAXReader();来解析xml文件

来源:互联网 发布:易道打车软件 编辑:程序博客网 时间:2024/05/22 14:29

使用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;
}

本文章转自:http://blog.csdn.net/o9109003234/article/details/8968294

0 0
原创粉丝点击