由于项目需要,需要开发一颗树来展示各元素之间的层级关系,选用了DhtmlTree树控件来实现前台树 代码如下: public class TransListToXML { /** * 生成document * @return document * */ public static Document generateXML(){ List<Organization> orgList = TransListToXML.getOrgList(); Document doc = DocumentHelper.createDocument(); Element root = doc.addElement("root"); for(Organization org:orgList){ Element orgPre = root.addElement(org.getName()); for(Organization orgs:orgList){ if((org.getId()).equals(orgs.getParentid())){ orgPre.addElement(orgs.getName()); } } } // Element category = root.addElement("category"); // Element id = category.addElement("id"); // id.addAttribute("name","id"); // id.addText("malongchao"); return doc; } /** * 写入XMl文件 * @param document 所要写入的文件内容 * @param outFile 文件存放的地址 * */ public static void writeDocument(Document docment,String outFile){ try { FileOutputStream fileWriter = new FileOutputStream(outFile);//读取文件 OutputFormat xmlFormat = OutputFormat.createPrettyPrint();//设置文件格式 xmlFormat.setEncoding("utf-8"); XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);//创建写文件方法 xmlWriter.write(docment);//写入文件 xmlWriter.close(); } catch (IOException e) { // TODO Auto-generated catch block System.out.println("文件没有找到"); e.printStackTrace(); } } /** * 获取组织机构列表信息 * @return orgList 组织机构信息列表 * */ public static List<Organization> getOrgList(){ String configLocation = "applicationContext.xml"; ApplicationContext context = new ClassPathXmlApplicationContext(configLocation); OrganizationService orgSer = (OrganizationService)context.getBean("organizationService"); List<Organization> orgList = orgSer.getAllOrgization(); return orgList; } public static void main(String[] args){ Document doc = TransListToXML.generateXML(); String outFile = "d://result.xml"; writeDocument(doc, outFile); } }
需要的输出结果为
<root> <北京> <北京/> <海淀区> <奥运村/> <丰台区/> <七里庄/> <北大地/> <卢沟桥/> </海淀区> <中关村/> <上地/> </北京> </root>
但是目前实际的输出结果为:
<?xml version="1.0" encoding="utf-8"?> <root> <北京> <北京/> <海淀区/> <中关村/> <上地/> </北京> <海淀区> <奥运村/> <丰台区/> <七里庄/> <北大地/> <卢沟桥/> </海淀区> <中关村/> <上地/> <奥运村/> <丰台区/> <七里庄/> <北大地/> <卢沟桥/> </root>
恳请各路大神指点,小弟现在这里谢过了