Sax

1.startDocument()文档开始

2.endDocument()文档结束

3.startElement(String namespaceURI,String localName,String qName,Attributes atts);

元素开始,localName是元素名

1.4endElement(String uri, String localName, String name)事件

1.5characters(char[] ch, int start, int length)

SAXParserFactory spf = SAXParserFactory.newInstance();//工厂

SAXParser saxParser = spf.newSAXParser();//解析器

//XMLContextHandler extends DeafaultHandler

XMLContextHandler handler = new XMLContextHandler();

saxParser.parse(inStream,handler);

inStream.close();

return handler.getPersons();

每当遍历到文本节点时,会触发该事件

public void characters(char[] ch,int start,in length);

DOM

DocumentBuilder builder = DocumentBuilderFactory.newDocumentBuilder();

Document dom = builder.parse(inStream);

Element root = dom.getDocumentElement();

NodeList items = root.getElementsByTagName("person");//查找所有person节点

for(...){

Node = ...

((Element)node).getAttribute("id");

if(node.getNodeType == Node.ELEMENT_NODE){

...

}

}

/*

* 取得文本节点

*/

node.getTextContext();

Android-Pull解析Xml

Android内置的pull解析器解析XML文件.Pull解析器是一个开源的java项目,既可以用于android,也可以用于JavaEE,如果用在javaEE需要把其jar文件放入路径中,因为Android已经集成进了Pull解析器,所以无需添加任何jar文件。Android系统本省使用到的各种xml文件,其内部也是采用Pull解析器进行解析的,Pull解析器的运行方式与SAX解析器相似。它提供了类似的时间,如:开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。跟SAX不同的是,Pull解析器产生的事件是一个数字,而非方法,因此可以使用一个switch对感兴趣的事件进行处理。当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型节点的值。

XmlPullParser parser = Xml.newPullParser();

parser.setInput(inStream, "UTF-8");

int etype = parser.getEventType();

while (etype != XmlPullParser.END_DOCUMENT) {

switch (etype) {

case XmlPullParser.START_DOCUMENT:

parser.getName();

case XmlPullParser.START_TAG:

}

etype = parse.next();

}

xml解析:Sax,Dom,pull解析相关推荐

  1. Android初级教程:Android中解析方式之pull解析

    在安卓中有很多种解析方式.按照大方向有xml解析和json解析.而,细致的分,xml和json解析各有自己的很多解析方式.今天这一篇主要介绍xml解析中的pull解析.对于xml的解析方式,我之前在j ...

  2. sax dom html解析xml,Python通过DOM和SAX方式解析XML的应用实例分享

    XML.DOM 需求 有一个表,里面数据量比较大,每天一更新,其字段可以通过xml配置文件进行配置,即,可能每次建表的字段不一样. 上游跑时会根据配置从源文件中提取,到入库这一步需要根据配置进行建表. ...

  3. Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...

  4. Android之Pull解析XML

    一.Pull解析方法介绍 除了可以使用SAX和DOM解析XML文件,也可以使用Android内置的Pull解析器解析XML文件.Pull解析器的运行方式与SAX解析器相似.它也是事件触发的.Pull解 ...

  5. XML解析:PULL解析

    为什么80%的码农都做不了架构师?>>> 概述: PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用 ...

  6. Android解析xml的方法,Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  7. android解析XML总结(SAX、Pull、Dom三种方式)

    在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式. 今天解析的xml示例(channels.xml)如下: 1 <?xml v ...

  8. Android之解析XML总结(SAX、Pull、Dom三种方式)

    常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析xml的这三种方式进行一 ...

  9. Java解析xml的主要解析器: SAX和DOM的选择(附上新方法--Pull解析)

    Java的xml解析器库有很多,总的来说,万变不离其宗的就是SAX和DOM解析器. SAX的包是org.xml.sax DOM的包是org.w3c.dom 1) DOM DOM 是用与平台和语言无关的 ...

最新文章

  1. 解决“无法找到运行搜索助理需要的一个文件”
  2. 科大星云诗社动态20210812
  3. php mysql查询时间_php查询时间段 mysql时间查询
  4. 计算机文本处理竞赛题目,文字处理竞赛题目(word2010).pdf
  5. Vuejs模拟Ajax请求接口(天气预报API)跨域问题 - 案例篇
  6. 什么是云存储网关CSG
  7. 架设动态 DNS 服务器: 让你成为 ISP 啦
  8. win10任务栏图标存放路径
  9. 实验3-8 输出三角形面积和周长 (15 分)
  10. 编译安装nginx并修改版本头信息—参考实例
  11. Android 编程经典200例 (pdf)资源
  12. jsp汽车4S店维修管理系统
  13. 你都用 Python 来做什么?
  14. 一般期刊发表要求如何掌握
  15. WIN10设置护眼 豆沙绿
  16. Pandas的列表值处理技巧,避免过多循环加快处理速度
  17. linux捕获鼠标点击事件文件,Linux捕捉鼠标事件和键盘事件的方法
  18. mac卡顿 cfbackd进程占用高cpu和高读写
  19. 大数据工程师和数据分析师有何区别
  20. 新项目筹划中。。。。

热门文章

  1. String 对象内存分配策略
  2. wxWidgets:wxFloatingPointValidator<T> 类模板用法
  3. boost::uuids::random_generator相关的测试程序
  4. boost::qvm::deduce_vec相关的测试程序
  5. boost::multiprecision模块random相关的测试程序
  6. boost::mpi模块对 all_gather() 集体的测试
  7. boost::lockfree::stack用法的测试程序
  8. boost::hana::make_lazy用法的测试程序
  9. Boost:在GPU上对int的std :: vector进行排序
  10. VTK:Qt之ShowEvent