5、Java xml操作和解析

2019-03-16  本文已影响0人  四月的谎言v5

DOM:将标记语言一次性加载到内存,在内存里面形成一颗DOM树

优点:操作简单,可以对文档进行CRUD所有操作
缺点:由于一次性加载会占内存比较大

SAX:基于事件驱动逐行读取

优点:不占内存
缺点:只能读取,不能增删改

xml常见的解析器

1、JAXP sun公司提供的解析器,支持dom,sax,但是性能差基本不用
2、DOM4J 一款很优秀的解析器
3、Jsoup 本是用来解析HTML的,提供了非常优秀的api,可以像jquery一样操作dom
4、PULLAndroid提供的内置解析器,SAX方式

这里选用jsoup-1.11.2.jar 这个包可以自己去官网下载

下面是用作演示的xml文档 JsoupDemo.xml

<?xml version="1.0" encoding="utf-8" ?>
<users>
    <user id="1">
        <name>siyue</name>
        <age>25</age>
    </user>
    <user id="2">
        <name>tip</name>
        <age>20</age>
    </user>
</users>

就像jquery操作dom一样

// 获取xml路径
    String path = JsoupDemo.class.getResource("JsoupDemo.xml").getPath();
    // 获取Document对象
    Document document = Jsoup.parse(new File(path), "utf-8");
    // 可以当做ArrayList<Element> 来使用
    Elements elements = document.getElementById("1").getElementsByTag("name");
    Element element = elements.get(0);
    System.out.println(element.text());
    //输出 siyue

具体API可以看文档
https://www.open-open.com/jsoup/

上一篇 下一篇

猜你喜欢

热点阅读