9月1日开发笔记

今天折磨了自己一晚上,重新换了一种XML解析方法——PULL解析。之前用SAX解析也感觉还行,就是有一个地方怎么都无解,搜索重名用户只能显示一个结果,本来也能用搜ID的方式将就,可我就是咽不下这口气,被一个程序欺负。
以前也尝试过PULL解析,无奈太多坑放弃了,今天下定决心一定要FIX这个BUG,功夫不负有心人,抽烟抽到肺痛之后,终于搞定了(抽烟有害健康啊)。
下面记录下我跳出的几个天坑。
1、每次循环之后一定要在开始TAG中重新初始化变量集合

case XmlPullParser.START_TAG:
                    //获取开始标签的名字
                    String startTagName = xmlPullParser.getName();
                    if ("User".equals(startTagName)) {
                        user=new User(); //这一步非常重要,要配合END_TAG使用
                    } 

这里的重新初始化是为了配合末尾的END_TAG中的一个变量重置使用。

2、一次循环完成后要把变量集合置空,否则重新循环之后不会重新覆盖到变量中去

case XmlPullParser.END_TAG:
                    String value = xmlPullParser.getName();
                    if (value.equals("User") && user != null && userList != null) {
                        userList.add(user);
                        user = null;  //将user置null,否则无法覆盖
                    }
                    break;

3、而且在将变量集添加到list中去时,必须要验证条件是否符合,否则同一变量集会添加多次

if (value.equals("User") && user != null && userList != null) 

这一句可以防止出现重复添加的问题

这里附带一篇文章,专门介绍和讲解PULL解析的,写的很详细
http://blog.csdn.net/caesardadi/article/details/8626097

本来这个问题计划放在晚一点解决的,现在感觉开发过程很顺利,一切都超前了,希望明天开始公测的时候服务器要扛得住。1M小水管让我很害怕

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值