android 利用pull解析xml数据

数据如下

<videoNews>

<c:forEach items="${videos}" var="video" >

    <news id="${video.getId() }" >

         <title>${video.getName() }</title>

         <time>${video.getTime() }</time>

     </news>

</c:forEach>

</videoNews>

获取inputstream

String path="http://222.133.40.188:8080/androidServer/test";

        URL url=new URL(path);

        HttpURLConnection connection=(HttpURLConnection) url.openConnection();

        connection.setConnectTimeout(5000);

        connection.setRequestMethod("GET");

        if(connection.getResponseCode()==200){

            InputStream inStream=connection.getInputStream();

            //获取文件流,将文件转换为xml

            return parseXml(inStream);

        }else{

            return null;

        }

解析inputstream--》xml

private List<News> parseXml(InputStream inStream) throws XmlPullParserException, IOException {

        News news=null;

        List<News> newsList=new ArrayList<News>();

        XmlPullParser pull=Xml.newPullParser();

        pull.setInput(inStream, "utf-8");

        int event=pull.getEventType();

        while(event!=XmlPullParser.END_DOCUMENT){

            switch (event) {

            case XmlPullParser.START_TAG:

                if("news".equals(pull.getName())){

                    int id=Integer.parseInt(pull.getAttributeValue(0));

                    news=new News();

                    news.setId(id);

                }else if("title".equals(pull.getName())){

                    String name=pull.getText();

                    news.setName(name);

                }else if("time".equals(pull.getName())){

                    String time=pull.getText();

                    news.setTime(time);

                }

                break;

            case XmlPullParser.END_TAG:

                if("news".equals(pull.getName())){

                    newsList.add(news);

                }

            break;

            

            }

            event=pull.next();

        }

        return newsList;

    }

 

你可能感兴趣的:(android)