加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【coder-pig教程学习笔记4】xml文件解析

发布时间:2020-12-16 06:02:16 所属栏目:百科 来源:网络整理
导读:1.xml 是什么 全名叫 可扩展标记语言,一般用来存储数据,可以看作一个微型的数据库,比如 SharePreference 就是适用 xml 文件保存配置信息,SQLite 的底层也是一个 xml 文件。把数据包装成一个 xml 文件进行传递也是常用的做法。 2.xml 文件的内容结构 ?xml

1.xml 是什么
全名叫 可扩展标记语言,一般用来存储数据,可以看作一个微型的数据库,比如 SharePreference 就是适用 xml 文件保存配置信息,SQLite 的底层也是一个 xml 文件。把数据包装成一个 xml 文件进行传递也是常用的做法。


2.xml 文件的内容结构

<?xml version="1.0" encoding="UTF-8"?>(文档声明,声明当前文档为 xml 格式,采用 UTF-8 编码)
<persons>(开始元素(persons))
    <person id="1">(文本节点(空白文本) 开始元素(person) 属性)
        <name>nameA</name>(文本节点(空白文本) 开始元素(name) 文本节点 结束元素(name))
        <age>ageOne</age>(文本节点(空白文本) 开始元素(age) 文本节点 结束元素(age))
    </person>(文本节点(空白文本) 结束元素(person))
    <person id="2">
        <name>nameB</name>
        <age>ageTwo</age>
    </person>
</persons>(结束元素(persons))

!缩进位置的空白处也是文本节点,为空白文本。


3.解析 xml 文件的三种方法

  1. SAX

    • 处理形式:对文档进行顺序扫描,当扫描到文档(document)开始与结束、元素(element)开始与结束等地方时通知事件处理函数,由事件处理函数执行相应动作,然后继续同样的扫描,直到文档末尾。采用流式解析,解析是同步的,读到哪里就处理到哪里。
    • 优点:解析速度快,占用内存少。
    • 缺点:每需要解析一类xml,就需要编写新的适合该类xml的处理类,用起来比较麻烦。

2.DOM

  • 处理形式:先把 xml 文档都读取到内存中,然后再用 DOM API 来访问树形结构,并获取数据。
  • 优点:写起来简单
  • 缺点:很消耗内存,假如读取的数据量较大,手机内存不够的话,可能导致手机死机

3.PULL

  • 处理形式:当某个元素开始时,可以调用 parser.nextText() 从 xml 文档中提取所有字符数据,当解析到一个文档结束时,自动生成 EndDocument
  • 优点:和 SAX 差不多,但代码写起来比 SAX 简单些,适合移动设备使用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读