功能分类:工具支持平台:Android运行环境:Eclipse开发语言:Java开发工具:Eclipse源代码大小:13.01MB源代码介绍android中XML文件解析方法的总结实例。包括dom解析、dom4j解析、pull解析、SAX解析解析示例xml文件的具体实现步骤,并有详细的注释。该实例将xml文件解析为实体类,通过pstView显示。注:dom4j解析需要额外的类库:dom4j-1.6.1.jar,完整的dom4j类库在压缩包中给出。如果只做分析,导入dom4j-1.6.1.jar即可。源码运行截图点击不同的按钮会进行不同的分析,但是显示效果是一样的。分析完成后,点击item可以通过pstview显示详细信息(来自xml文件的内容)。据说pull更省内存*/pubpcclassXmlPullParserUtil{pubpcstaticArraypstpullParser(InputStreamin){Arraypstcds=null;try{//建立pull解析工厂XmlPullParserFactoryfactory;factory=XmlPullParserFactory.newInstance();//构建拉取解析XmlPullParserparser=factory.newPullParser();//设置解析器的数据源parser.setInput(newInputStreamReader(in));//获取事件并开始解析intentType=parser.getEventType();//要生成的CDObjectCDEntityentity=null;//循环遍历xml文档,直到到达文档末尾while(eventType!=XmlPullParser.END_DOCUMENT){switch(eventType){//在开头构造Arraypst对象xml文件。caseXmlPullParser.START_DOCUMENT:cds=newArraypst();break;//判断tag开头的tag名称caseXmlPullParser.START_TAG:Stringname=parser.getName();//当tag名称为cd时,构建CDobjectif("CD".equals(name)){entity=newCDEntity();//如果label为title,则cd不能为空,获取的文本为cd的标题,则设置title属性cd到标题标签文本}elseif("TITLE".equals(name)){entity.setTitle(parser.nextText());}elseif("ARTIST".equals(name)){entity.setArtist(parser.下一个文本());}elseif("COUNTRY".equals(name)){entity.setCountry(parser.nextText());}elseif("COMPANY".equals(name)){entity.setCompany(parser.nextText());}elseif("PRICE".equals(name)){entity.setPrice(Float.parseFloat(parser.nextText()));}elseif("YEAR".equals(name)){entity.setYear(Integer.parseInt(parser.nextText()));}break;//标签结束后,判断结束标签是什么。如果cd标签结束,则生成cd对象,应该添加到ArraypstcaseXmlPullParser.END_TAG:if("CD".equals(parser.getName())){cds.add(entity);}break;}//循环处理结束后,需要将标签设置为下一个标签,避免死循环printStackTrace();}System.out.println(cds);returncds;}}源码下载地址:http://down.51cto.com/data/1968715