xml解析:Sax,Dom,pull解析
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解析相关推荐
- Android初级教程:Android中解析方式之pull解析
在安卓中有很多种解析方式.按照大方向有xml解析和json解析.而,细致的分,xml和json解析各有自己的很多解析方式.今天这一篇主要介绍xml解析中的pull解析.对于xml的解析方式,我之前在j ...
- sax dom html解析xml,Python通过DOM和SAX方式解析XML的应用实例分享
XML.DOM 需求 有一个表,里面数据量比较大,每天一更新,其字段可以通过xml配置文件进行配置,即,可能每次建表的字段不一样. 上游跑时会根据配置从源文件中提取,到入库这一步需要根据配置进行建表. ...
- Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别
XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...
- Android之Pull解析XML
一.Pull解析方法介绍 除了可以使用SAX和DOM解析XML文件,也可以使用Android内置的Pull解析器解析XML文件.Pull解析器的运行方式与SAX解析器相似.它也是事件触发的.Pull解 ...
- XML解析:PULL解析
为什么80%的码农都做不了架构师?>>> 概述: PULL解析器小巧轻便,解析速度快,简单易用,非常适合在Android移动设备中使用,Android系统内部在解析各种XML时也是用 ...
- Android解析xml的方法,Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- android解析XML总结(SAX、Pull、Dom三种方式)
在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式. 今天解析的xml示例(channels.xml)如下: 1 <?xml v ...
- Android之解析XML总结(SAX、Pull、Dom三种方式)
常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析xml的这三种方式进行一 ...
- Java解析xml的主要解析器: SAX和DOM的选择(附上新方法--Pull解析)
Java的xml解析器库有很多,总的来说,万变不离其宗的就是SAX和DOM解析器. SAX的包是org.xml.sax DOM的包是org.w3c.dom 1) DOM DOM 是用与平台和语言无关的 ...
最新文章
- 解决“无法找到运行搜索助理需要的一个文件”
- 科大星云诗社动态20210812
- php mysql查询时间_php查询时间段 mysql时间查询
- 计算机文本处理竞赛题目,文字处理竞赛题目(word2010).pdf
- Vuejs模拟Ajax请求接口(天气预报API)跨域问题 - 案例篇
- 什么是云存储网关CSG
- 架设动态 DNS 服务器: 让你成为 ISP 啦
- win10任务栏图标存放路径
- 实验3-8 输出三角形面积和周长 (15 分)
- 编译安装nginx并修改版本头信息—参考实例
- Android 编程经典200例 (pdf)资源
- jsp汽车4S店维修管理系统
- 你都用 Python 来做什么?
- 一般期刊发表要求如何掌握
- WIN10设置护眼 豆沙绿
- Pandas的列表值处理技巧,避免过多循环加快处理速度
- linux捕获鼠标点击事件文件,Linux捕捉鼠标事件和键盘事件的方法
- mac卡顿 cfbackd进程占用高cpu和高读写
- 大数据工程师和数据分析师有何区别
- 新项目筹划中。。。。
热门文章
- String 对象内存分配策略
- wxWidgets:wxFloatingPointValidator<T> 类模板用法
- boost::uuids::random_generator相关的测试程序
- boost::qvm::deduce_vec相关的测试程序
- boost::multiprecision模块random相关的测试程序
- boost::mpi模块对 all_gather() 集体的测试
- boost::lockfree::stack用法的测试程序
- boost::hana::make_lazy用法的测试程序
- Boost:在GPU上对int的std :: vector进行排序
- VTK:Qt之ShowEvent