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


もりま  2003-09-20 02:55:03  No: 108752

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

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

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


魔界の仮面弁士  2003-09-20 08:12:23  No: 108753

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 22:38:54  No: 108754

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加