String outStr = "<Record index=\"1\">\n" + " <AAA027>004</AAA027>\n" + " <AAC003>王凤</AAC003>\n" + " <AAC147>51012</AAC147>\n" + " <AAE140>390</AAE140>\n" + "</Record>" + "<Record index=\"2\">\n" + " <AAA027>005</AAA027>\n" + " <AAC003>张坤</AAC003>\n" + " <AAC147>510456</AAC147>\n" + " <AAE140>140</AAE140>\n" + "</Record>";
直接调用
org.dom4j.Document outdocument = DocumentHelper.parseText(outStr);
这样的话会直接报错,因为xml文件的根目录不能是两个相同的节点,所以只能在字符串外面在加一层
outStr = "<Data>" + outStr + "</Data>";
List<Map<String, String>> resultList = new ArrayList(); org.dom4j.Document outdocument = DocumentHelper.parseText(outStr); Map<String, String> finallresult = new HashMap<String, String>(); org.dom4j.Element rootelement = outdocument.getRootElement(); List<org.dom4j.Element> list = rootelement.elements(); for (org.dom4j.Element e : list) { finallresult.clear(); finallresult.put("AAA027", e.element("AAA027").getTextTrim()); finallresult.put("AAC003", e.element("AAC003").getTextTrim()); finallresult.put("AAC147", e.element("AAC147").getTextTrim()); finallresult.put("AAE140", e.element("AAE140").getTextTrim()); resultList.add(finallresult); }