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 lo

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();

}

 

目录
相关文章
|
12月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
339 57
|
7月前
|
存储 Java 文件存储
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
1670 1
|
7月前
|
XML JavaScript Android开发
【Android】网络技术知识总结之WebView,HttpURLConnection,OKHttp,XML的pull解析方式
本文总结了Android中几种常用的网络技术,包括WebView、HttpURLConnection、OKHttp和XML的Pull解析方式。每种技术都有其独特的特点和适用场景。理解并熟练运用这些技术,可以帮助开发者构建高效、可靠的网络应用程序。通过示例代码和详细解释,本文为开发者提供了实用的参考和指导。
183 15
|
12月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
12月前
|
JavaScript 前端开发 算法
React 虚拟 DOM 深度解析
【10月更文挑战第5天】本文深入解析了 React 虚拟 DOM 的工作原理,包括其基础概念、优点与缺点,以及 Diff 算法的关键点。同时,分享了常见问题及解决方法,并介绍了作者在代码/项目上的成就和经验,如大型电商平台的前端重构和开源贡献。
155 3
|
12月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
12月前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML DOM 解析器
|
12月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
199 0
|
7月前
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
660 29
|
7月前
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
191 4

热门文章

最新文章

相关课程

更多

推荐镜像

更多
  • DNS