タイトル : Re: XMLでデータを返す方法 投稿日 : 2008/04/26(Sat) 03:57 投稿者 : YuO
回答の都合上,引用順を逆転させています。 また,エンコーディングがShift_JISのため, 元記事中の丸囲み数字は(1)等に置き換えています。 > どのようにWEBサーバが受け取り、どう返したらいいのかさっぱりです。 とのことなので,サーバ側の.aspxファイルで処理する事を想定して書きます。 フィルタとか使えば別の方法もあるとは思いますが。 > (1) クライアントからWebサーバに?mode=1でHttpWebRequestを送信する > (2) Webアプリケーションがクライアントからmode=1を受け取る。 .aspx.vbのPage_Load等で,Request.QueryString("mode")を調べると,"1"が得られます。 ・System.Web.HttpRequest.QueryString http://msdn2.microsoft.com/ja-jp/library/system.web.httprequest.querystring.aspx > (3) modeに応じて処理をするのだが、今回の場合、status1,satus2,status3にデータをいれ > 同階層のXML形式でクライアントに返す サーバーコントロールやデータ連結式を使わない場合, .aspxファイルに返すXMLをそのまま書いてしまうことができます。 @Pageディレクティブに,ContentType="application/xml"を追加しておく必要がありますが。 ただ,普通は,Response.OutputStreamをXmlDocument.Saveに渡したり, XmlWriter.Createに渡したりして,System.Xml系のクラスを使ってXMLを取り扱うのがよいでしょう。 この場合,.aspxファイルは@Pageディレクティブだけになります。 ContentType属性はこの場合でも追加しておくのがよいでしょう。 # コードで追加してもいいですが……。 ・System.Web.HttpResponse.OutputStream http://msdn2.microsoft.com/ja-jp/library/system.web.httpresponse.outputstream.aspx ・System.Xml.XmlDocument.Save (outStream As System.IO.Stream) http://msdn2.microsoft.com/ja-jp/library/z5250dbd.aspx ・System.Xml.XmlWriter.Create (output As System.IO.Stream) http://msdn2.microsoft.com/ja-jp/library/x972ksd0.aspx |