0

目前我有两个代码示例,一次从我的数据库中获取一个表,将它放入一个 DataSet,然后将 DataSet 和一个 XML 文件保存到我的桌面。

另一个代码保存网页中的文件。我想做的是结合这两个代码示例,以便我可以通过互联网保存我的 XML 文件。

以下是示例:

SqlDataAdapter adapter = new SqlDataAdapter(query, connectionString);
            DataSet questionSet = new DataSet();
            adapter.Fill(questionSet, "Questions");

            questionSet.WriteXml("../../../../../Users/User/Desktop/MyTest");

这成功地将我的表格保存为 XML 文档并将其保存到我的桌面。

MSDN中用于通过 ASP.NET 保存文件的代码示例

System.String filename = "myFile.txt";

                   Response.ContentType = "text/xml";

                   // initialize the http content-disposition header to
                   // indicate a file attachment with the default filename
                   // "myFile.txt"
                   System.String disHeader = "Attachment; Filename=\"" + filename +
                      "\"";
                   Response.AppendHeader("Content-Disposition", disHeader);

                   // transfer the file byte-by-byte to the response object
                   System.IO.FileInfo fileToDownload = new
                      System.IO.FileInfo("C:\\downloadJSP\\DownloadConv\\myFile.txt");
                   Response.Flush();
                   Response.WriteFile(fileToDownload.FullName);}

这成功地通过我的浏览器保存了一个文件。

据我了解,似乎.WriteXml从数据集中创建了一个文件。有没有办法将该文件扔到其他代码中并告诉浏览器下载该.WriteXml文件?

所有这些代码对我来说几乎就像魔法一样,但话又说回来,它是 .NET,它以其精灵尘埃而闻名!

4

1 回答 1

2

我相信您所需要的只是:

questionSet.WriteXml(Response.OutputStream);

您仍然想设置内容类型,但您不需要弄乱文件系统来执行此操作。

于 2012-05-02T04:26:59.530 回答