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;
    }
时间: 2024-10-06 14:24:25

android 利用pull解析xml数据的相关文章

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

android 通过pull解析xml文件

1 package com.example.xmldemo.test; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStreamReader; 9 import java.

Android:Pull解析XML

在上一篇文章写了SAX解析XML,感觉Pull方式和SAX方式非常相似,只是SAX需要一个辅助的类,解析时触发事件后在回调方法里面写代码,而Pull则通过调用事件类型的方法来返回一个int值,然后根据这个值来写代码. 首先自定义一个XML文件:Student.xml,注意是新建file而不是xml. <span style="font-size:14px;"><?xml version="1.0" encoding="utf-8"

Android中用PULL解析XML

解析XML的方式有DOM,SAX,PULL,那为什么要在Android中使用PULL解析呢?首先来说一下PULL解析的优点,然后再说一下其他两种解析方式的缺点,答案就清晰可见啦. DOM不适合文档较大,内存较小的场景.DOM是基于树形结构的的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树.检索所需数据.分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和更新节点信息.由于DOM在内存中以树形结构存放,因此检索和更新效率会更高.但是对于特别大的文档,解析和加载整个文档将

Android中pull解析XML文件的简单使用

首先,android中解析XML文件有三种方式,dom,sax,pull 这里先讲pull,稍候会说SAX和DOM pull是一种事件驱动的xml解析方式,不需要解析整个文档,返回的值是数值型,是推荐的解析方式 看代码: XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> <person id="23"> <name>孙洋洋</name

Android之PULL解析XML

package project02_Order_management.util; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; /** * 一个JTable工具类 <br> * 进行初始化表数据 * * @author MartinDong * */ public class Table

android学习二十一(使用Pull解析xml)

使用Pull解析xml 为了测试从网上得到的数据信息,我们需要配置一台服务器,我使用的是tomcat6.0,怎么配置tomcat我就不讲解了.配置好了以后在apache-tomcat-6.0.39\webapps\ROOT路径下面放置一个文件就可以通过浏览器来访问了 ,比如:放置了 一个hello.html文件,浏览器进行访问的路径是:http://localhost:8080/hello.html 现在在root目录下新建一个get_data.xml文件,内容如下: <apps> <a

Android系列之网络(四)----SAX方式解析XML数据

?[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4044170.html 联系方式:[email protected] [系列]Android系列之网络:(持续更新) Android系列之网络(一)----使用HttpClient发送HTTP请求(通过get方法获取数据) Android系列之网络(二)----HTTP请求头与响应头 Androi

Android DOM、SAX、Pull解析XML(转)

本篇随笔将详细讲解如何在Android当中解析服务器端传过来的XML数据,这里将会介绍解析xml数据格式的三种方式,分别是DOM.SAX以及PULL. 一.DOM解析XML 我们首先来看看DOM(Document Object Model)这种方式解析xml,通过DOM解析xml在j2ee开发中非常的常见,它将整个xml看成是一个树状的结构,在解析的时候,会将整个xml文件加载到我们的内存当中,然后通过DOM提供的API来对我们的xml数据进行解析,这种方式解析xml非常的方便,并且我们可以通过