Нужно ли поместить XML-результат во временный локальный XML-файл, а затем проанализировать оттуда? Я пытаюсь создать «простую» конвертацию валюты, используя RPC API Foxrate на http://foxrate.org/,, и я застрял в попытке выяснить, что делать дальше. Примеры XML, которые я здесь выполнил, хороши, некоторые из них являются превосходными для того, что мне нужно (я думаю). Я использую RPC-библиотеку Android XML от code.google, поэтому могу начать с приведенного ниже.
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>
Спасибо за любое направление!