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/