我要调用一个web services,返回的是xml文件,我如何在我的服务器端创建一个xml文档,然后把web services返回的数据写到这个xml中,然后我就可以对它进行其他的去重,排序什么的操作了。但是我不想把这个xml文档持久化,每次调用完后就释放出来。(类似于c#中的XmlDocument).请问代码怎么弄?最好给出用的什么包,什么版本的API,如果结果能用,我愿再加分,分不是问题。

解决方案 »

  1.   

    再说详细一点吧,就是像下面这段代码一样,但是不要最后持久化的,用java实现。
                            System.Xml.XmlDocument   xd   =   new   System.Xml.XmlDocument();   
                              System.Xml.XmlDeclaration   xdec   =   xd.CreateXmlDeclaration("1.0",   "GB2312",   null);   
        
                              xd.AppendChild(xdec);   
                              System.Xml.XmlNode   xn   =   xd.CreateElement("Hello");   
                                
                              xd.AppendChild(xn);   
                              xn.InnerText   =   "Hello,world!";   
                              xd.Save("c:\\file.xml");
      

  2.   

    楼主发错地方了吧,Ajax算js的,不是Java,帮你移动到Java板块去
      

  3.   

    把人家响应的数据在本地备份一份,以防不正常情况时可以查。。    public Document doRequest(String urlStr) throws Exception {
            org.dom4j.Document doc = org.dom4j.DocumentHelper.createDocument();
            //建立连接
            URL url = new URL(urlStr);
           URLConnection conn = url.openConnection();
            
            /** xml格式化输出,类型IE浏览一样 */
            OutputFormat format = OutputFormat.createPrettyPrint();
            /** 指定XML字符集编码 */
            format.setEncoding("GBK");
            format.setTrimText(false);
            SAXReader reader = new SAXReader();
            InputStream in = conn.getInputStream();
            doc = reader.read(in);
            in.close();  //这样你可以读doc,这会doc在我们的内存中
            
            /**备份响应数据*/
            XMLWriter resWriter = new XMLWriter(new FileOutputStream("BackResponse.xml"), format);
            resWriter.write(doc);
            resWriter.flush();
            resWriter.close();
            return doc; 
        }