SAX(Simple Api for XML)方式:

1.原理是将文档逐行读入内存,逐行解析

2.XML文档开始解析、结束解析,每个标签开始解析、结束解析的时刻都会触发一个事件,解析DTD和schema时也会触发一个事件,分别为

startDocument()

endDocument()

startElement(......)

character(......)

endElement(......)

3.解析步骤:

SAXParserFactory factory = SAXParserFactory.newInstance(); //得到一个SAX解析器工厂的实例

XMLReader reader = factory.newSAXParser().getXMLReader(); //从SAX解析器工厂得到一个XMLreader

reader.setContentHandler(new MyContentHandler()); //设置XMLReader的ContentHandler

reader.parse(new InputSource(new StringReader(str))); //XMLReader读入xml文件的string

4.(3)中第三条语句用到的MyContentHandler需要新建一个类,extends DefaultHandler,override其中的(2)中的五个方法。

PS:为什么不直接extends ContentHandler?因为DefaultHandler的存在使用的是适配器模式,由于共有四种handler,故先用DefaultHandler继承ContentHandler,然后在extends DefaultHandler

DOM方式:

1.原理是将XML文档全部读入内存,存入一个树形结构

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. Android(安卓)ApiDemos示例解析(12):App->Activity->Redirection
  3. Android百度地图将经纬度转换为地址信息
  4. 【Android】 在Andorid中解析Json数据示例
  5. chromium-cronet库的编译用于Android和ios平台实现quic协议
  6. Android(安卓)ApiDemos示例解析(110):Views->Data Widgets->1. D
  7. android 自学日记(六) ——SAX解析中换行问题解决
  8. Android(安卓)ApiDemos示例解析(127):Views->Layout Animation->
  9. Android(安卓)AsyncTask源码解析

随机推荐

  1. Android修改状态栏颜色
  2. 1. 写一个登录表单,要求有邮箱,密码,登录
  3. 如何通过Apache在本地配置多个虚拟主机
  4. 基于php伪静态的实现方法解析
  5. PHP Ajax跨域问题解决方案代码实例
  6. 淘宝首页商品列表块
  7. PHP+Redis事务解决高并发下商品超卖问题(
  8. PHP中->和=>的含义及使用示例解析
  9. 移动端布局基本思路,三种视口、手机页面3
  10. Fetch API的使用,npm的常用操作,node模块