0

私はAndroidプログラミングに不慣れです。私の要件はWebサービスを呼び出すことです。Webサービスから正常に応答を取得しました。Androidで応答を解析する方法。解決策を教えてください。

これは、応答を取得するためのコードです。

 HttpResponse response = httpclient.execute(httppost);
           String str=response.getStatusLine().toString();

           System.out.println("========URL STATUS========"+str);

           HttpEntity r_entity = response.getEntity();

           if( r_entity != null ) {
               result = new byte[(int) r_entity.getContentLength()];
               if(r_entity.isStreaming()) {
                    is = new DataInputStream(r_entity.getContent());
                   is.readFully(result);

               }
           }

           httpclient.getConnectionManager().shutdown();
           String responsedata= (new String(result).toString());
4

3 に答える 3

3

以下のサンプルは、domパーサー用です。

 DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
 DocumentBuilder db = dbf.newDocumentBuilder();
 InputSource is = new InputSource();
 StringReader sr=new StringReader(result.toString());
 is.setCharacterStream(sr);
 Document doc = db.parse(is);
 NodeList nodes = doc.getElementsByTagName("your root tag");

 //get your other tag elements.

http://www.mkyong.com/java/how-to-read-xml-file-in-java-dom-parser/。domパーサーの例。

http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/。saxパーサーの例。

Domはw3cベースのパーサーです。Domはsaxよりも低速です。これは、ツリーノードを使用し、mmeoryである必要があるためです。したがって、DOMパーサーを使用して大きなデータを解析することはお勧めしません。

一方、SAXはdomよりも高速です。大きなxmlデータに推奨されます。

上記のリンクは、両方の例を示しています。上記のパーサーのいずれかを使用して、xmlタグから値を解析および取得します。

于 2013-03-21T12:39:38.660 に答える
0

SimpleXmlParserの使用を試みることができます。これはネイティブのAndroidクラスです。DOMxmlパーサーよりも簡単です。

于 2013-03-21T12:39:08.117 に答える
0

必要なのは、単にandroidxml解析ライブラリです。android用のxml解析はたくさんあります。

公式チュートリアル

Androidでのxml解析の方法を比較する」という記事もあります。

于 2013-03-21T13:29:52.007 に答える