9月1日开发笔记
来源:互联网 发布:淘宝的渠道管理在哪里 编辑:程序博客网 时间:2024/05/19 21:19
今天折磨了自己一晚上,重新换了一种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
- 9月1日开发笔记
- 6月17日开发笔记
- 8月19日TMS开发笔记
- 8月20日TMS开发笔记
- 8月22日开发笔记
- 9月8日 笔记
- 9月5日笔记
- 9月17日笔记
- 9月24日笔记
- 11月9日笔记
- 11月9日笔记
- 6月1日笔记
- 11月1日笔记
- 12月1日笔记
- 9月1日
- 1月9日
- 1月9日
- jsp学习笔记0(9月1日)
- springboot学习一(环境搭建入门学习)
- Bigtable: A Distributed Storage System for Structured Data : part3 API
- TortoiseSVN设置比较工具为 Beyond Compare
- oracl 导出与导入字节码不一样 ORA-12899报错
- 冒泡排序,选择排序,插入排序,快排
- 9月1日开发笔记
- java web体系发展历史和未来
- EasyMall第十一天
- HDU 1233 还是畅通工程(prim)
- 数据库优化的逻辑顺序
- EasyMall第十二天
- momentum梯度下降
- HDU
- 标准模式和怪异模式