前回 の続き。XML(文字列)の使い道を紹介します。okita です。
XML(文字列)をバッファー上に作成して
取得することができたので
XML(文字列)ダウンロードしようと思います。
以前紹介した「PDFダウンロード」の記事でも出てきた
HttpResponse を使用します。
XMLを作成するプロシージャを
Main program ⇒ True
Call protocol ⇒ HTTP
に設定します。
そしてあとは↓の部分をXML作成後の部分に追記
1 2 3 |
&HttpResponse.AddString(&XMLWriter.ResultingString) &HttpResponse.AddHeader('Content-Type','application/download') &HttpResponse.AddHeader('Content-Disposition','attachment;filename=Sample.xml') |
PDFの時と違うのは↓の部分です。
1 |
&HttpResponse.AddString(&XMLWriter.ResultingString) |
何をしてるかというと
HttpResponse に XML(文字列) を突っ込んでるだけですw
そして
1 |
&HttpResponse.AddHeader('Content-Type','application/download') |
この部分でダウンロードするんだよ!ってブラウザに伝えてる・・・・はずw
さらに
1 |
&HttpResponse.AddHeader('Content-Disposition','attachment;filename=Sample.xml') |
この部分でダウンロードの時のファイル名は「Sample.xml」なんだよ!って伝えてる・・・・はずw
これでXMLファイルをサーバに残さず
XMLファイルをダウンロードできるということです。
私自身この方法をもっと早く知りたかった!
GeneXus 触り始めたころはXMLを一回ファイルで
サーバに保存しないとダウンロードできないと思っていたので
この方法を知った瞬間、( ゚д゚)ハッ!ってなりましたw
同じ問題で悩んでる人がいたらこの方法で
問題解決できたらいいなぁと思います。
そして今回を含め3回に分けて
XML作成及びダウンロードと分けて記事を書きましたが
サンプルのXPZをダウンロードできるようにしておきます。
誰も使わないとか、コメントが雑とか、そんなコトは知らん。
ダウンロードは コチラ [XMLCreateSample] から。
以上です。
■GeneXus Tips【XML作成 その1】