1
我需要從URL獲取一些信息(「http://someurl.com/file.xml」)。 標籤中的信息 - 「名稱」,「姓氏」。從url解析xml。例外
我該怎麼做?
我知道我必須使用AsyncTask進行互聯網連接。
我試圖使用的AsyncTask XMLPullParser,但我得到的例外 「IndeOutOfBound」
class RequestTask extends AsyncTask<String, Void, Void> {
String name;
@Override
protected InputStream doInBackground(String... uri) {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new InputStreamReader(
getUrlData("http://someurl.com/file.xml")));
while (xpp.getEventType() != XmlPullParser.END_DOCUMENT) {
if (xpp.getEventType() == XmlPullParser.START_TAG) {
if (xpp.getName().equals("name")) {
name=xpp.getAttributeValue(0);
}
}
xpp.next();
}
} catch (Throwable t) {
}
} catch (IOException e) {
//Handle problems..
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Toast.makeText(getActivity().getApplicationContext(),
"name="+name, Toast.LENGTH_SHORT).show();
}
}
嗨 - 你有沒有得到解決?我猜你的XML看起來像' Joe Blow '。只是猜測(根據您提供的這些信息)。但是這樣的元素沒有「屬性」,如果你試圖調用「xpp.getAttributeValue()」,會導致「indexOutOfBounds」異常。問:你有沒有發現問題?問:我的回覆中的鏈接是否有幫助? –
paulsm4
你是對的人!非常感謝! – researcher