- ベストアンサー
AndroidアプリのXML送受信
- Androidアプリとサーバー間のXML送受信についての処理方法について考えています。
- 参考になったサンプルコードでは、データの送信にList<NameValuePair>を使用していますが、XMLのデータのみを送信する方法がわかりません。
- もしList<NameValuePair>が使用できない場合は、AndroidでXML送受信を行うための代替方法を教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ByteArrayOutputStreamを使ってコレクションを出力するサンプルなので、そのようにしてあるだけではないでしょうか。HTTPで送信する際には、必ずパラメータ名と値がセットになりますから、その例として、nameとtextというパラメータを用意してあります。要するに、コレクションに保管された多数の値をそれぞれパラメータ設定して送信するサンプルなわけですね。 >AndroidでXMLを送受信するにはどうしたら良いのでしょうか? Androidでは、XMLデータの受信はそう難しくはありません。ざっと以下のような感じになります。詳しくはXmlPullParserを見て下さい。 // import org.xmlpull.v1.XmlPullParser; // import android.util.Xml; InputStream input = 入力ストリームを用意しておく XmlPullParser parser = Xml.newPullParser(); parser.setInput(input, “UTF-8″); // パーサから値を取り出していく for(int e = parser.getEventType(); e != XmlPullParser.END_DOCUMENT; e = parser.next()){ 変数 = parser.nextText(); // 全要素を順に取り出していく } 受信はこれでできるのですが、送信は、専用のクラスなどはなかったように思います。どうもAndroidからXMLを送信するというのはあまりやらないようで、以下の記事ぐらいしか見つかりませんでした。 http://www.ibm.com/developerworks/jp/xml/library/x-android/ 私も送信はやったことがないので、参考程度ということで。
お礼
やはりXMLを送信するというのは一般的ではないのですね。 結局、HttpURLConnectionを使ってOutputStreamWriterで文字列送信することにしました。(XMLは文字列に変換) XMLの受信から、XMLPullparserの説明まで、丁寧にありがとうございました。