您的位置:首页 > 运维架构 > Linux

webService xml解析 android测试 linux 学习-----博客大搜集

2014-11-21 16:12 211 查看
webService xml解析等知识点,值得学习

/article/4190953.html

webService有关的网站,开发应用很有用

http://www.webxml.com.cn/zh_cn/index.aspx

linux shell学习网站

http://www.92csz.com/study/linux/

android测试

junit测试用例中的方法必须是void型,并且方法名称为textXXX()

对于计算方法的测试使用Assert类的assertEqual()方法

日志的打印:Log类输入信息

Log.i() 输出information

Log.e() 输出error

Log.w() 输出warning

也可以使用传统的System类输出信息,但是我们不推荐这么做

System.out.println() 输出infomation

System.err.println() 输出错误

;xml文档解析

例如有这样的一个文档:

01.<?xml version="1.0" encoding="UTF-8"?>
02.<users>
03.    <user id="0">
04.        <name>Alexia</name>
05.        <age>23</age>
06.        <sex>Female</sex>
07.    </user>
08.    <user id="1">
09.        <name>Edward</name>
10.        <age>24</age>
11.        <sex>Male</sex>
12.    </user>
13.    <user id="2">
14.        <name>wjm</name>
15.        <age>23</age>
16.        <sex>Female</sex>
17.    </user>
18.    <user id="3">
19.        <name>wh</name>
20.        <age>24</age>
21.        <sex>Male</sex>
22.    </user>
23.</users>


使用pull解析时,事件驱动。android已经集成了pull,所以我们可以直接使用不用导入包文件。

当遇到:

<users>————触发START_DOCUMENT事件,

</users>————触发END_DOCUMENT事件 ,

<user >————触发START_TAG事件,触发该事件后我们就可以通过解析器对象得到它的属性值,方法getAttributeValue(0)得到第一个属性值,

<name>————触发的依旧是START_TAG事件,此时处理方法思路是:

判断节点是不是叫做name,如果是进行处理,因为Edward是String,我们使用解析器对象的nextText()方法得到文本值。如果需要转换类型,那我们就直接强制转换吧,注意转换规则。

</user>————触发END_TAG事件,

看一下这个完整的pull解析代码:

01.public static List<Person> getPersons(InputStream xml) throws Exception{
02.        List<Person> persons = null;
03.        Person person = null;
04.        XmlPullParser pullParser = Xml.newPullParser();
05.        pullParser.setInput(xml, "UTF-8");//为Pull解析器设置要解析的XML数据
06.        int event = pullParser.getEventType();
07.        while(event != XmlPullParser.END_DOCUMENT){
08.            switch (event) {
09.            case XmlPullParser.START_DOCUMENT:
10.                persons = new ArrayList<Person>();
11.                break;
12.
13.            case XmlPullParser.START_TAG:
14.                if("person".equals(pullParser.getName())){
15.                    int id = new Integer(pullParser.getAttributeValue(0));
16.                    person = new Person();
17.                    person.setId(id);
18.                }
19.                if("name".equals(pullParser.getName())){
20.                    String name = pullParser.nextText();
21.                    person.setName(name);
22.                }
23.                if("age".equals(pullParser.getName())){
24.                    int age = new Integer(pullParser.nextText());
25.                    person.setAge(age);
26.                }
27.                if("sex".equals(pullParser.getName())){
28.                    String sex = pullParser.nextText();
29.                    person.setSex(sex);
30.                }
31.                break;
32.
33.            case XmlPullParser.END_TAG:
34.                if("person".equals(pullParser.getName())){
35.                    persons.add(person);
36.                    person = null;
37.                }
38.                break;
39.            }
40.            event = pullParser.next();
41.        }
42.        return persons;
43.    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: