就贴一下主要代码吧 ~ 服务器的XML数据时这样 <?xml version="1.0" encoding="UTF-8"?> <videos> <video id="1"> <title>实拍奥巴马国宴秀中国谚语 主菜烤牛排</title> <timelength>03:26</timelength> </video> <video id="2"> <title>浙江乐清被碾死村长家属获赔105万元</title> <timelength>05:30</timelength> </video> <video id="3"> <title>男子火车站裸奔怒斥站长抗议车票难买</title> <timelength>01:26</timelength> </video> <video id="4"> <title>实拍男子北漂5年挣不到钱 过年不敢回家</title> <timelength>05:26</timelength> </video> <video id="5"> <title>数民警当街大战野猪13枪将其击毙(现场)</title> <timelength>07:26</timelength> </video> <video id="6"> <title>徐帆忘提颁奖人惹不满 赵本山调侃冯小刚</title> <timelength>04:26</timelength> </video> </videos> 核心代码如下: package com.zyq.service; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullParser; import android.util.Xml; import cn.zyq.voo.Video; public class VideoService { /** * 获取网络的最新视频资讯 * @return * @throws Exception */ public static List<Video> getLastVideos() throws Exception { String path="http://192.168.1.168:8080/video/video.xml"; URL url=new URL(path); HttpURLConnection conn=(HttpURLConnection)url.openConnection(); conn.setRequestMethod("GET"); conn.setReadTimeout(1000*5); if(conn.getResponseCode()==200) { InputStream inputStream=conn.getInputStream(); return parseXML(inputStream); } return null; } /** * 解析XML数据 * @param inputStream * @return * @throws Exception */ public static List<Video> parseXML(InputStream inputStream) throws Exception { List<Video> videos=null; Video video=null; XmlPullParser parser=Xml.newPullParser(); parser.setInput(inputStream, "UTF-8"); int event=parser.getEventType(); while(event!=XmlPullParser.END_DOCUMENT) { switch (event) { case XmlPullParser.START_DOCUMENT: videos=new ArrayList<Video>(); break; case XmlPullParser.START_TAG: if("video".equals(parser.getName())) { video=new Video(); video.setId(new Integer(parser.getAttributeValue(0))); } if(video!=null) { if("title".equals(parser.getName())) { video.setTitle(parser.nextText()); } else if("timelength".equals(parser.getName())) { video.setTimelength(new Integer(parser.nextText())); } } break; case XmlPullParser.END_TAG: if("video".equals(parser.getName())) { videos.add(video); video=null; } break; } event=parser.next(); } return videos; } }