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

来源:互联网 发布:查车架号软件 编辑:程序博客网 时间:2024/05/29 17:46

 

webService    xml解析等知识点,值得学习

 

http://liuguidong.iteye.com/blog/1757357

 

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


 


 

 

 

 

 

 

0 0
原创粉丝点击