场景:将EXCEL文件转换为XML,要顺序显示ATTRIBUTE.
代码:
Element error = document.createElement("Error");
error.setAttribute("D", D);
error.setAttribute("A", A);
error.setAttribute("C", C);
error.setAttribute("B", B);问题:ATTRIBUTE 显示的顺序为 <error a='a' b='b' c='c' d='d'/>
由于业务要求需要显示为 <error d='d' a='a' c='c' b='b'/>请问该如何修改代码?

解决方案 »

  1.   

    这个需求好奇怪啊。 为什么节点的属性要有规定的顺序呢?好像这个连W3C都没有规定过。实在不行的话,你自己用IO操作算了。 自己写程序控制输出格式。
      

  2.   

    属性本来就没有顺序。一定要弄,你直接操作IO,输出xml。菩提本无树,
    明镜亦非台,
    本来无一物,
    何处惹尘埃。阿弥陀佛,善哉,善哉!
      

  3.   

    dom4j貌似没有楼主提的这个问题。lz列出的问题结果,怎么有点自动排序了的感觉。Element error = document.getRootElement().addElement("Error");//createElement("Error");
    error.addAttribute("D", "D1");
    error.addAttribute("A", "A1");
    error.addAttribute("C", "C1");
    error.addAttribute("B", "B1");
    System.out.println("111"+error.asXML());
      

  4.   

    笑看lS
    LZ 楼上正解 赶紧结贴吧