ASP.NETでDataSetをXML形式でダウンロード


もりま  2003-09-19 17:55:03  No: 108752  IP: [192.*.*.*]

ASP.NETでDataSetのデータをXML形式ファイルにして、クライアントに
ダウンロードしたいのですが、

DataSetをXMLにするWriteXmlメソッドでは第一引数
出力ファイル名または出力ストリームを指定する必要があります。
この時にダイアログ等で指定するダウンロード先ファイル名を
指定する術、または他のやり方がわかりません。


DataSet1.WriteXml( ???, XmlWriteMode.WriteSchema)

編集 削除
魔界の仮面弁士  2003-09-19 23:12:23  No: 108753  IP: [192.*.*.*]

ASP.NETの経験は全く無いので、当てずっぽうですが、
少なくともASPの場合は、XMLデータをクライアントに渡すときに、
    Dim RS 'As ADODB.Recordset
      :
    RS.Save Response, adPersistXML
ですとか、
    Dim xDoc 'As FreeThreadedDOMDocument40
      :
    xDoc.Save Response
のように、Responseオブジェクトにストリームとして吐き出す事が多いです。

なので、おそらくASP.NETの場合も、出力先のストリームとして、
HttpResponse.OutputStream あたりを WriteXmlメソッドに渡すのでは
ないでしょうか。


で、ダウンロードさせる時のファイル名は、HTTP応答ヘッダの
Content-Dispositionで指定すればOKです。RFC 2183ですね。

ASPの場合は、
  Response.ContentType = MIMEタイプの指定
  Response.AddHeader "Content-Disposition", "attachment; filename=" 
などと書きます。おそらくASP.NETも同様に、
  Response.ContentType = MIMEタイプの指定
  Response.AddHeader("Content-Disposition","attachment;filename=" & FileName)
と書けるのでは無いでしょうか。

編集 削除
もりま  2003-09-20 13:38:54  No: 108754  IP: [192.*.*.*]

今、ASP.NETの開発環境で無いので、
確認出来ませんが、情報をありがとうございます。>魔界の仮面弁士さん

編集 削除