文档章节

android 利用pull解析xml数据

JasonMs
 JasonMs
发布于 2015/08/20 17:37
字数 167
阅读 6
收藏 0

数据如下

<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;
    }

 

本文转载自:http://www.cnblogs.com/zhangjie9142/p/3969875.html

JasonMs

JasonMs

粉丝 7
博文 49
码字总数 20597
作品 1
朝阳
程序员
私信 提问
Android 创建与解析XML(六)—— 比较与使用

前面介绍了四种创建、解析XML的方式: 0、 Android 创建与解析XML(一)—— 概述 1、 Android 创建与解析XML(二)—— Dom方式 2、 Android 创建与解析XML(三)—— Sax方式 3、 Android ...

长平狐
2013/01/06
1K
0
一起学Android之Xml与Json解析

概述 在网络中,数据交互通常是以XML和Json的格式进行,所以对这两种格式的数据进行解析,是Android开发中的必备功能,本文以一个简单的小例子,简述Android开发中Xml和Json解析的常用方式,...

Alan.hsiang
08/03
0
0
Android 创建与解析XML(一)—— 概述

Android 是最常用的智能手机平台,XML 是数据交换的标准媒介,Android 中可以使用标准的XML生成器、解析器、转换器 API,对 XML 进行解析和转换。 XML,相关有DOM、SAX、JDOM、DOM4J、Xerce...

长平狐
2013/01/06
176
0
SVG前戏—让你的View多姿多彩

什么是SVG SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形。是一种基于可扩展标记语言(XML)。它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质量下降。它的优点在于...

codeGoogle
2018/08/07
0
0
Android读写XML(上)

注明:本文转自http://www.moandroid.com. 原文地址: http://www.moandroid.com/?p=508 XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,...

晨曦之光
2012/03/01
404
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
9
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部