改如何拼成一个xml形式的字符串

您所在的位置:网站首页 xml字符串转map 改如何拼成一个xml形式的字符串

改如何拼成一个xml形式的字符串

#改如何拼成一个xml形式的字符串 | 来源: 网络整理| 查看: 265

爱易网页 Java教程 改如何拼成一个xml形式的字符串 改如何拼成一个xml形式的字符串

日期:2014-05-20  浏览次数:20535 次

改怎么拼成一个xml形式的字符串,在线等数据库已经取出值,改怎么拼成一个xml形式的字符串现在数据库已经取出a b c三个字段的所有值大概是这样   a b ca1 b1 3a2 b2 1a3 b3 2a4 b4 1a5 b5 3a6 b6 1a7 b7 2a8 b8 2a9 b9 1a10 b10 3xml:               ...   ...       ...   ...   拼成串也可以,使用jdom4j建树最好while(rs.next){......}

------解决方案--------------------

Java code Document document = DocumentHelper.createDocument(); Element root = document.addElement("response"); while(rs.next()){ String id= rs.getString(0); //字段a String counlom= rs.getString(1); //字段b String catolg = rs.getString(2); //字段c Element catolgEl = ((Element)document.selectSingleNode("//response/catolg[@name='"+catolg+"']")); if(catolgEl==null){ catolgEl = root.addElement("catolg").addAttribute("name", catolg); } catolgEl.addElement("layer").addAttribute("id", id).addAttribute("counlom", counlom); } System.out.println(document.asXML()); ------解决方案-------------------- 这个不是例子,而是根据楼主要求写的。楼主可以运行改下,只要把取数据那段换成你从数据库取就可以了。用的就是dom4jJava code import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.TreeMap; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class TestXML { class Data { public Data() { } String catolg; String id; String counlom; } public static void main(String[] args) { new TestXML().output("D:\\response.xml"); } public void output(String fileName) { String charset = "UTF-8"; Document doc = DocumentHelper.createDocument(); Element response = doc.addElement("response"); // 根元素 response doc.setRootElement(response); List list = new ArrayList(); list.add("a1 b1 3"); list.add("a2 b2 1"); list.add("a3 b3 2"); list.add("a4 b4 1"); list.add("a6 b6 1"); list.add("a7 b7 2"); list.add("a8 b8 2"); list.add("a9 b9 1"); list.add("a10 b10 3"); //排序 保证 catolg name="1" 然后 "2" "3" Map sortedMap = new TreeMap(); for (String line : list) { String arr[] = line.split(" "); Data d = new Data(); d.catolg = arr[2]; d.id = arr[0]; d.counlom = arr[1]; ArrayList l = sortedMap.get(d.catolg); if (l == null) { l = new ArrayList(); sortedMap.put(d.catolg, l); } l.add(d); } Map nameMap = new TreeMap(); for (ArrayList datas : sortedMap.values()) { for (Data d : datas) { String catolg = d.catolg; String id = d.id; String counlom = d.counlom; Element catolgElement = nameMap.get(catolg); if (catolgElement == null) { catolgElement = response.addElement("catolg"); catolgElement.addAttribute("name", catolg); nameMap.put(catolg, catolgElement); } Element layer = catolgElement.addElement("layer"); layer.addAttribute("id", id); layer.addAttribute("counlom", counlom); } } OutputFormat format = OutputFormat.createPrettyPrint(); // 设置XML文档输出格式 format.setEncoding(charset); // 设置XML文档的编码类型 format.setSuppressDeclaration(true); format.setIndent(true); // 设置是否缩进 format.setIndent("\t"); // 以空格方式实现缩进 format.setNewlines(true); // 设置是否换行 // format.setExpandEmptyElements(true); //设置空元素是头和尾都写 try { XMLWriter xmlWriter = new XMLWriter(new OutputStreamWriter( new FileOutputStream(fileName), charset), format); xmlWriter.write(response); xmlWriter.close(); } catch (Exception e) { e.printStackTrace(); } } } 免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 相关资料更多> 怎么在jsp页面中使用js日期控件 DWR框架和spring整合出现的有关问题 在JSP中用URL传递参数的有关问题 请教jtree的每个节点上加上鼠标单击事件,如何加啊,用addActionListener好像不行啊 这个标签有误吗,为什么报错,该如何处理 java技术交流群69646083,该如何解决 ueditor下传图片失败,请大神指点 java 关于构造方法的题,该怎么处理 SSH 第二次跳转有关问题


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3