Проанализировать объект, который содержит данные XML
Я создаю приложение для Android, где я подключаюсь к базе данных через веб-сервисы. Когда я отправляю информацию через веб-сервисы, я получаю результат в формате xml, затем я преобразую его в строку и отображаю в тексте редактирования, вот так
Handler uiThreadHandler = new Handler() {
public void handleMessage(Message msg) {
Object o = msg.obj;
EditText textIn = (EditText)((Activity)context).findViewById(R.id.editTextDoSelectResult);
textIn.setText(o.toString());
System.out.println(o.toString());
}
};
Message msg = uiThreadHandler.obtainMessage();
msg.obj = result;
msg.arg1 = sid;
uiThreadHandler.sendMessage(msg);
}
Я пытаюсь разобрать XML, чтобы получить конкретные значения из результата XML и отобразить его в соответствующем поле, я думаю, что я должен следовать что-то вроде этого
http://developer.android.com/training/basics/network-ops/xml.html
У меня вопрос, как я могу использовать результат XML, который я получаю в своем коде в качестве входного потока в XmlPullParser
если есть, я могу улучшить этот вопрос, пожалуйста, дайте мне знать
1 ответ
Может быть, это поможет вам.
Чтобы получить входящий поток:
private static InputStream downloadUrl(String urlString) throws IOException {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
// Starts the query
conn.connect();
return conn.getInputStream();
}
преобразовать входной поток в строку:
private static String convertStreamToString(InputStream is) {
ByteArrayOutputStream oas = new ByteArrayOutputStream();
copyStream(is, oas);
String t = oas.toString();
try {
oas.close();
oas = null;
} catch (IOException e) {
e.printStackTrace();
}
return t;
}
установить для редактирования текста:
...
youredittext.setText(convertStreamToString(downloadUrl(your_url)));
...