android 利用pull解析xml資料

來源:互聯網
上載者:User

標籤:android   style   blog   http   color   io   os   ar   for   

資料如下

<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 利用pull解析xml資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.