安卓使用XML解析数据并展示到ListView中

这篇博客介绍了如何在Android应用中使用XML解析从Tomcat服务器获取的数据,并将其显示在ListView上。首先,通过HTTP GET请求获取XML文件,然后利用Pull解析器解析XML,将数据存储到实体类。最后,将解析后的数据展示在ListView中,同时展示了相关的服务器端代码和Android端代码。
摘要由CSDN通过智能技术生成

先上效果图:
这里写图片描述

好久不碰XML解析,在此写了个小的demo来温习一下解析XML,其中我用的Pull来解析XML,XML文件存放在tomcat服务器,服务器端采用SSH框架编码完成,由安卓端通过http的GET请求获取到xml,之后就是解析啦,解析完将所有数据存放在实体类中,接下来就是将数据显示在ListView上面了。demo虽小,但其中遇到一些问题卡住我半天,下面就来看看吧。服务器的搭建比较简单了,其中在action中处理安卓端的get请求,将person.xml以字节流的方式返回给安卓端.

action中代码:

//获取xml数据
    public String getXmlData(){
        try {
            request.setCharacterEncoding("UTF-8");
            response.setContentType("text/html;charset:UTF-8");
            response.setCharacterEncoding("UTF-8");

            List<Person> persons=personBiz.getXmlData();
            /*for (Person person : persons) {
                System.out.println(person);
            }*/
            request.setAttribute("persons", persons);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return "success";
    }

dao层接口代码:

//查询所有xml数据
    public List<Person> getXmlData();

dao层实现类代码:

@Override
    public List<Person> getXmlData() {
        List<Person> lists=getSession().createQuery("from Person").list();
        return lists;
    }

struts.xml中配置action:

<action name="getXmlData" class="personAction" method="getXmlData">
                <result name="success">/list.jsp</result>
            </action>

服务器端页面请求:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
    <a href="getXmlData.action">解析XML数据</a>
</center>
</body>
</html>

服务器端页面返回结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值