response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition","attachment;filename=test.xml");byte[] lba_data = ;//要保存的文件的内容

while(true)
{
int j = lfis_in.read(lba_data,0,lba_data.length);

if(j==-1)
break;

response.getOutputStream().write(lba_data,0,j);
}

解决方案 »

  1.   

    jdom之类的都可以
    可以下一个看看
      

  2.   

    使用Attachment方式,或者使用客户端脚本配合保存
      

  3.   

    感谢楼上的朋友,你们的办法能在具体点吗,目前我的办法是:
    已经可以生成我要的XML文件了,同时用浏览器打开看到内容了,但是不知道怎么把当前页面保存到本地,并且保存的XML文件文件名是自动生成的是变量相加的,我在顶一下
      

  4.   

    <%@page import="java.io.File" %>
    <%@page import="java.util.List" %>
    <%@page import="javax.xml.parsers.*" %>
    <%@page import="javax.xml.transform.Transformer" %>
    <%@page import="javax.xml.transform.TransformerFactory" %>
    <%@page import="javax.xml.transform.stream.StreamSource" %><%@page import="java.sql.*"%>
    <%@page import="org.dom4j.*"%>
    <%@page import="org.dom4j.io.*"%>
    JVAV 参考:    public boolean createXmlFile(String strFilePath)
        {
            boolean theResult = false;
            try
            {
                Document document = this.createNewSimpleDocument();
                if (this.saveXmlToFile(strFilePath, document))
                {
                    theResult = true;
                }
    else
    {
        theResult = false;
    }
            }
            catch(Exception e){e.printStackTrace();}        return theResult;
        }    /****************************************************
         * 创建一个新的, 最简单的 document.
         * XML编码是GBK
         * @return document XML 文档
         */
        public Document createNewSimpleDocument()
        {
            Document theResult = null;
            Document document = this.convertStringToDocument("<?xml version=\"1.0\" encoding=\"gbk\"?><root></root>");
            theResult = document;
            return theResult;
        }  
        /**
         * 用于保存 document 到 xml 格式的文本文件.
         * 返回结果若为 true 表示文件保存成功, 否则失败.
         * xml 的字符编码为 gbk
         * @param strFilePath 保存路径.
         * @param document 要保存的XML文档
         * @return boolean 执行结果, true 为成功;false 为失败.
         */
    public boolean saveXmlToFile(String strFilePath, Document document)
        {
            boolean theResult = false;
            try
            {
                OutputFormat format = OutputFormat.createPrettyPrint();
                format.setEncoding("gbk");
                XMLWriter writer = new XMLWriter(new FileWriter(strFilePath), format);
    writer.write(document);
    writer.flush();
    writer.close();
    theResult = true;
            }
            catch(Exception e)
            {
                theResult = false;
            }
            return theResult;
        }JSP 生成一个随机数调用就可以了。
      

  5.   

    非常感谢楼上的朋友耐心讲解,先谢谢了,可是XML文件只能建立在服务器上,关键是怎么能让生成的XML文件生成后弹出对话框,文件名自动生成,然后点击保存就可以保存到客户端的硬盘上。
    请大家在看看。
      

  6.   

    生成完xml文件后,你一定知道物理路径,转换成虚拟路径:http://xxx/xxx.xml然后转向到另外一个网页,该网页的功能是得到上面的虚拟路径,然后提示用户下载
      

  7.   

    你可以这样:在jsp中点击一个按钮,发送请求到一个servlet中,这个servlet负责生成Xml文件,然后直接用流下载方式传回客户端,这样在客户端会像下载文件一样弹开对话框让用户选择是否下载了
      

  8.   

    非常感谢你的提醒,从事JSP时间不长,具体代码如能提供感激不已,我已经把生产XML文件的BEAN写好了,后面能否把关键的代码提供一下。(你可以这样:在jsp中点击一个按钮,发送请求到一个servlet中,这个servlet负责生成Xml文件,然后直接用流下载方式传回客户端,这样在客户端会像下载文件一样弹开对话框让用户选择是否下载了