pull方法解析xml

  1. private static List<Schoolnews> parseXML(InputStream in)
  2. throws XmlPullParserException, IOException {
  3. List<Schoolnews> snews = null;
  4. Schoolnews schoolnews = null;
  5. XmlPullParser pullParser = Xml.newPullParser();
  6. pullParser.setInput(in, "UTF-8");
  7. int event = pullParser.getEventType();
  8. while (event != XmlPullParser.END_DOCUMENT) {
  9. switch (event) {
  10. case XmlPullParser.START_DOCUMENT:
  11. snews = new ArrayList<Schoolnews>();
  12. break;
  13. case XmlPullParser.START_TAG:
  14. if ("Schoolnews".equals(pullParser.getName())) {
  15. int id = new Integer(pullParser.getAttributeValue(0));
  16. schoolnews = new Schoolnews();
  17. schoolnews.setId(id);
  18. }
  19. if ("title".equals(pullParser.getName())) {
  20. schoolnews.setTitle(pullParser.nextText());
  21. }
  22. if ("content".equals(pullParser.getName())) {
  23. schoolnews.setContent(pullParser.nextText());
  24. }
  25. if ("sharedate".equals(pullParser.getName())) {
  26. schoolnews.setShareDate(pullParser.nextText());
  27. }
  28. if ("shareperson".equals(pullParser.getName())) {
  29. schoolnews.setShareperson(pullParser.nextText());
  30. }
  31. if ("pictureuri".equals(pullParser.getName())) {
  32. schoolnews.setPictureuri(pullParser.nextText());
  33. }
  34. break;
  35. case XmlPullParser.END_TAG:
  36. if ("Schoolnews".equals(pullParser.getName())) {
  37. snews.add(schoolnews);
  38. schoolnews = null;
  39. }
  40. break;
  41. }
  42. event = pullParser.next();
  43. }
  44. return snews;
  45. }
  46. }
时间: 2024-08-12 21:14:01

pull方法解析xml的相关文章

QT开发(四十四)——流方法解析XML

QT开发(四十四)--流方法解析XML 一.流方法解析XML简介 QT 4.3开始,QT引入了两个新的类来读取和写入XML文档:QXmlStreamReader和QXmlStreamWriter. QXmlStreamReader类提供了一个快速的解析器通过一个简单的流API来读取良构的XML文档,是作为QT的SAX解析器的替代者出现的,比SAX解析器更快更方便.    QXmlStreamReader可以从QIODevice或QByteArray中读取数据.QXmlStreamReader以一

解决IE中无法使用jquery.find方法解析xml字符串的方法

getResult:function(data){ data=data.replace(/"/g,"'"); var xml; //解决办法 if( typeof data == "string" ){ xml = new ActiveXObject("Microsoft.XMLDOM"); xml.async = false; xml.loadXML(data); } else { xml = data; } var resultOb

通过Pull方式解析xml文件

说明:此案例使用的是通过Sax方式解析xml文件这篇文章里的布局文件.City类和china.xml文件(此文件内包含两种格式),所以只需要完成MainActivity和PullXml就行了,在于展示如何使用Pull方式解析xml文件. 1. PullXml类的主要代码如下: <span style="font-size:14px;">public class PullXml { public List<City> pullXml() { List<Cit

Android 使用pull,sax解析xml

pull解析xml文件 1.获得XmlpullParser类的引用 这里有两种方法 //解析器工厂 XmlPullParserFactory factory=XmlPullParserFactory.newInstance(); XmlPullParser pullParser=factory.newPullParser(); //直接获得实例XmlPullParser pullParser= Xml.newPullParser(); 2.设置解析内容 通过setInput方法设置解析内容  

Android 采用PULL来解析XML

概述: PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用PULL解析器,Android官方推荐开发者们使用Pull解析技术.Pull解析技术是第三方开发的开源技术,它同样可以应用于JavaSE开发. PULL 的工作原理: XML pull提供了开始元素和结束元素.当某个元素开始时,可以调用parser.nextText从XML文档中提取所有字符数据.当解析到一个文档结束时,自动生成EndDocument事件.

Android中使用PULL方式解析XML文件

Pull解析器的运行方式与 SAX 解析器相似.它提供了类似的事件,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件.跟SAX不同的是, Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个switch对感兴趣的事件进行处理.当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型节点的值. 下面我们通过Demo例子来介绍如何使用PULL机制来解析XML文件.先看下如下工程的目录结构: 按以下步骤进行操作: [1]

pull 方式解析xml文件

XmlPullParser解析xml的android文档docs/reference/org/xmlpull/v1/XmlPullParser.html xmlPullParer官网:http://www.xmlpull.org/ 例子:要解析的文件:pull.xml <?xml version="1.0" encoding="UTF-8"?> <Customer>  <PersonName>   <SurName>张

【iOS开发-网络】两种常用的方法解析XML数据

解析XML数据常用的有两种方法 第一种 使用Google的GDataXMLNode解析XML数据 使用的是DOM方式解析 先把xml一口吞掉 然后一点一点的解析 第二种 使用苹果自带的NSXMLParser解析XML数据 使用的是SAX方式解析 一个标记一个标记的解析 第一种使用步骤 第一步 首先把GDataXML文件夹放入项目中 第二步 更改Bulid Setting里面的东西 更改头文件搜索路径 在Header Search Paths里面添加路径/usr/include/libxml2 在

[学习手记] Java中利用DOM方法解析XML文件

需求分析: 在做一个利用API的小东西时需要对返回的XML格式的数据进行解析 详见文章: [开发手记] 一款基于命令行的英英词典 (A CLI-Based EE Dictionary) 项目地址: https://github.com/hwding/seekDict 准备工作: 阅读Documentation 查阅相关代码 读入XML文件到程序内: 首先用DocumentBuilderFactory生成一个DocumentBuilder实例 DocumentBuilder docmumentBu