您的位置:首页 > 移动开发 > Android开发

android xml 解析方法

2012-02-09 18:36 344 查看
private String singerCount="5";
public List<String> getSongerFromSongName(String songName) throws Exception
{
List<String> songers = null;
XmlPullParser parser = Xml.newPullParser();
parser.setInput(getXml(songName) , "UTF-8");
int event = parser.getEventType();
while (event != XmlPullParser.END_DOCUMENT)
{
switch (event)
{
case XmlPullParser.START_DOCUMENT:
songers = new ArrayList<String>();
break;

case XmlPullParser.START_TAG:
if ("name".equals(parser.getName()))
{
songers.add(parser.nextText());
}
break;
case XmlPullParser.END_TAG:

break;
}
event = parser.next();
}
return songers;
}

public InputStream getXml(String songName) throws Exception
{
String strUrl = "http://api.douban.com/music/subjects?tag=" + songName
+ "&start-index=1&max-results="+singerCount+"&apikey=0da34e8146d71dd228e9eb83d4855976";
ByteArrayInputStream stream = null;
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(strUrl);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String content = httpclient.execute(httpget , responseHandler);
stream = new ByteArrayInputStream(content.getBytes());

return stream;
}



 httpGet 通信方式

DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
if (response.getStatusLine().getStatusCode() == 200)
{
Log.i("ss" , EntityUtils.toString(response.getEntity()));
}


  

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: