現在、2つのコードサンプルがあります。データベースからテーブルを取得し、それをDataSetに配置してから、DataSetとXMLファイルをデスクトップに保存します。
もう1つのコードは、Webページからファイルを保存します。私がやりたいのは、これら2つのコード例を組み合わせて、インターネット経由でXMLファイルを保存できるようにすることです。
サンプルは次のとおりです。
SqlDataAdapter adapter = new SqlDataAdapter(query, connectionString);
DataSet questionSet = new DataSet();
adapter.Fill(questionSet, "Questions");
questionSet.WriteXml("../../../../../Users/User/Desktop/MyTest");
これにより、テーブルがXMLドキュメントとして正常に保存され、デスクトップに保存されます。
ASP.NETを介してファイルを保存するためのMSDNのコードサンプル
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
、dataSetからファイルを作成しているようです。そのファイルを他のコードにスローし、.WriteXml
代わりにファイルをダウンロードするようにブラウザに指示する方法はありますか?
このコードはすべて私には魔法のように見えますが、やはり.NETであり、ピクシーダストで知られています。