百度一下DOM4J,解析XML例子。用DOM4J解析的话,很方便的

解决方案 »

  1.   

    你就用dom4j把节点全部封装成对象。再把对象封装成你的xml
      

  2.   

    dom4j  解析很实用,要是解析后封装成对象xstream 更实用。
      

  3.   

    试试这个public static void main(String[] args) {
            try {
                SAXReader saxReader = new SAXReader();
                Document document = saxReader.read(new File("路径/a.xml"));
                Element root = document.getRootElement();
                parse(root);
            } catch (DocumentException ex) {
                ex.printStackTrace(System.err);
            }
        }    public static void parse(Element element) {
            List<Element> es = element.elements("element");
            if (!es.isEmpty()) {
                String name = element.getName();
                StringBuilder builder = new StringBuilder();
                builder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
                builder.append("<root_").append(name).append(">\r\n");
                builder.append("\t<").append(name).append(">\r\n");
                for (Element e : es) {
                    builder.append("\t\t").append(e.asXML()).append("\r\n");
                }
                builder.append("\t</").append(name).append(">\r\n");
                builder.append("</root_").append(name).append(">\r\n");
                System.out.println(builder.toString());
            }
            es = element.elements();
            for (Element e : es) {
                if (!e.getName().equals("element")) {
                    parse(e);
                }
            }
        }