2011-07-20 7 views
0

XML結果を一時的なローカルXMLファイルに配置し、そこから解析する必要がありますか?私はhttp://foxrate.org/でFoxrateのRPC APIを使って '単純な'通貨換算を作成しようとしています。次に何をすべきかを把握しようとしています。私がここに従ったXMLの例は良いです、私が必要とするものの上にあるものもあります(私は思っています)。私はcode.googleからAndroid XML RPCライブラリを使用していますので、私は以下から始めることができます。AndroidからのXML RPC結果の解析

uri = URI.create("http://foxrate.org/rpc/"); 
    client = new XMLRPCClient(uri); 
    Object FoxResult = null; 

    try { 
     FoxResult = client.call("foxrate.currencyConvert", sourceCurrency, targetCurrency, conversionValue); 
     Log.d("XMLRPC Test", "result conversion");     
    } catch (XMLRPCException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     Log.d("XMLRPC Test", "Error", e); 
    } 

何が?過去数日間、私は結果構造体をどのように引き離し、使用できる変数に入れるのかを理解しようとしていました。私は必要な情報を引き出すためにDOMやSAXを使用しますか?そして、ここで言及したようにイベントハンドラを書く必要がありますか?http://www.anddev.org/web_services_-_an_xml-rpc_client_for_android-t646.html?私は情報の負荷があることを知ったが、すべてが異なるソリューションを持っている。任意の方向のための

<params> 
    <param> 
     <value> 

      <struct> 

       <member> 
        <name>flerror</name> 
        <value> 
         <int>0</int> 
        </value> 
       </member> 

       <member> 
        <name>amount</name> 
        <value> 
         <double>50.36</double> 
        </value> 
       </member> 

       <member> 
        <name>message</name> 
        <value> 
         <string>"2/9/2007"</string> 
        </value> 
       </member> 

      </struct> 
     </value> 

    </param> 
</params> 

ありがとう:

サーバからの応答は次のようなものです!

答えて

1

はこれを試してみてください:

Map<String, Object> FoxResult = client.call("foxrate.currencyConvert", sourceCurrency, targetCurrency, conversionValue); 
int flerror = Integer.valueOf(FoxResult.get("flerror").toString()); 
double amount = Double.valueOf(FoxResult.get("amount").toString()); 
String message = FoxResult.get("message").toString(); 

あなたは例外と欠損値のために適切なチェックを行う必要がありますが、structタイプのために、それは地図を返します。

+0

多くのおかげで、私は私のコーディングボックスに戻ったときにそれを試してみましょう! – r00

関連する問題