xml的三种解析方法
Xml主要有三种解析方式分别为dom、sax、还有xmlpull,先来说下各自的优缺点。
1、dom解析的特点是将整个xml文档以树形结构放入到内存中,是官方推荐标准,优点是在内存中可以增删改查,缺点是当文件过大是可能会内存溢出。
2、sax解析是一行一行的进行解析,是程序员社区开发出来的,优点是不会内存溢出,缺点是不能修改里面的内容
3、xmlpull的解析类似sax解析,是android内置的解析器。
dom解析,注释很详细,直接上代码,实际开发中用这种方式的不多
private void domTest() {try {//获取dom解析器的工厂DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();//通过工厂获取一个dom解析器的实例DocumentBuilder builder = factory.newDocumentBuilder();//解析xml文件,参数可以是串,可以是文件,也可以是流Document dom = builder.parse("");//获取book元素的集合NodeList list = dom.getElementsByTagName("book");for(int i=0;i<list.getLength();i++){//得到一个book元素Node node = list.item(i);//获取到book元素下其他元素的集合NodeList childNodes = node.getChildNodes();for(int j=0;j<childNodes.getLength();j++){//得到一个其他元素Node node1 = childNodes.item(j);//获取元素名String nodeName = node1.getNodeName();//获取元素里的内容String textContent = node1.getTextContent();}}} catch (Exception e) {e.printStackTrace();}}
sax解析
private void saxTest() {try {//获取sax解析器的工厂SAXParserFactory factory = SAXParserFactory.newInstance();//通过工厂获取一个sax解析器的实例SAXParser parser = factory.newSAXParser();//解析xml文件,参数1为xml文件名,参数2为parser.parse("",new HdBase());} catch (ParserConfigurationException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}}public class HdBase extends DefaultHandler{@Overridepublic void startDocument() throws SAXException {super.startDocument();}@Overridepublic void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {super.startElement(uri, localName, qName, attributes);}@Overridepublic void characters(char[] ch, int start, int length) throws SAXException {super.characters(ch, start, length);}@Overridepublic void endElement(String uri, String localName, String qName) throws SAXException {super.endElement(uri, localName, qName);}@Overridepublic void endDocument() throws SAXException {super.endDocument();}}
xml的三种解析方法相关推荐
- 用python解析xml的几种方法,Python_XML的三种解析方法
什么是XML? XML 指可扩展标记语言(eXtensible Markup Language). XML 被设计用来传输和存储数据. XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这 ...
- xml的三种解析方式
本篇博客重点介绍Android中三种解析XML的方式,包括PULL.SAX.DOM,当然不止这些,还可以用第三方的jar包提供的解析,只是这三种在Android中比较常用吧.再顺便介绍一下Androi ...
- Android中XML的三种解析器分析、实战
XML解析器介绍 Android中提供了三种方式来解析XML: SAX(simple API for XML) DOM(文档对象模型) 以及Android内部使用的Pull解析. SAX(simple ...
- xml文件的三种解析方式 DOM SAM PULL
<?xml version="1.0" encoding="UTF-8"?> <root><student id="1& ...
- java解析xml的三种方法
java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...
- php xml对象解析_php解析xml 的四种简单方法(附实例)
XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...
- 用Python解析XML的几种常见方法的介绍
这篇文章主要介绍了用Python解析XML的几种常见方法,包括快速的使用ElementTree模块等方法的实例介绍,需要的朋友可以参考下 一.简介 XML(eXtensible Markup Lang ...
- Android解析XML的三种方式
在Android中提供了三种解析XML的方式:DOM(Document Objrect Model),SAX(Simple API XML),以及Android推荐的Pull解析方式. 如图: 本篇博 ...
- Java解析Xml的三种方式总结
转自:http://blog.csdn.net/zjf280441589/article/details/50613881 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内 ...
- 黑马程序员_Java解析网络数据流的三种特殊方法
Java解析网络数据流的三种特殊方法 Java作为最开放的语言,已越来越受到网络程序员的青睐.但这一青睐族有着同样的经历--曾经都为网络上通信的Java数据格式而烦恼. 笔者也不例外,曾经为此而查阅了 ...
最新文章
- mysql json类型数组索引_MySQL JSON 类型数据操作
- HashMap原理和使用
- [汇编语言]实验:应用更灵活的寻址方式来定位内存地址
- 1.5编程基础之循环控制 37 雇佣兵
- 引入CSS文件的@import与link的权重分析
- elasticsearch5.0启动出现的错误
- VBS教程-wscript对象
- SQL Server跨server之间訪问
- BAT文件中如何注释:
- ie上传文件到ftp服务器,通过浏览器上传文件到ftp
- PHPUnit 在 Windows下的安装
- matlab教程黄金分割,Matlab程序设计在黄金分割法教学中的应用
- 共享充电线项目市场分析报告
- 视觉SLAM十四讲-第九讲例程运行出错
- 让海航买不起的当当究竟值多少钱?90亿够不够?
- oppo手机忘记解锁图案怎么办
- 四阶龙格库塔法的基本思想_请问用四阶龙格库塔法解二阶微分方程的思想是什么?...
- cnn和rnn和tcn
- Jquery+javascript制作支付网页数字键盘
- svg 树状图_d3 树状布局tree