Android 解析xml 文件

xml文件在各种开发中都广泛应用。Android中也不例外。作为承载数据的一个重要角色,如何读写xml成为一项十分重要的技能。
在Android中,常见的xml解析器分为DOM解析器,SAX解析器,PULL解析器。
将该xml文件放置在assets目录中。

<?xml version="1.0" encoding="utf-8"?>
<persons>
    <person id="1">
        <name>zhangsan</name>
        <age>21</age>
    </person>
    <person id="2">
        <name>lisi</name>
        <age>22</age>
    </person>
    <person id="3">
        <name>wangwu</name>
        <age>23</age>
    </person>
</persons>

实体类

data class Person(val id: Int, val name: String, val age: Int)

DOM 解析器

DOM是基于树形结构的节点和信息片段的集合,允许开发人员使用DOM API遍历xml树,检索所需结构。分析该结构通常需要加载整个文档和构造整个树形结构,然后才可检索和更新节点信息。

在DOM解析过程中,会先把整个xml读入内存中,然后构建一个驻留内存的树结构,这样就可以通过代码使用DOM接口来操作整个树结构。由于DOM在内存中以树形结构存放,因此,检索和更新的效率会更高。但是对于特别大的文档,解析和加载会消耗比较大的资源,如果xml文件比较小,使用DOM也是可行的。

DOM解析的步骤

1.首先利用DocumentBuilderFactory 创建一个DocumentBuilderFactory实例
2.利用DocumentBuilderFactory 创建一个DocumentBuilder实例
3.加载整个xml文档(Document)
4.获取文档的根节点(Element)
5.获取根节点中所有子节点列表(NodeList)
6.然后获取子节点列表中的需要读取的节点

private fun dom(context: Context, fileName: String): ArrayList<Person> {
    val persons = ArrayList<Person>()    
    var inputStream: InputS
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值