XML解析
一,解析
概念:将文档中的数据读取到内存中
1.1 解析方式
1.DOM:将文档一次性加载进内存,在内存中形成一颗DOM树
优点:操作方便,可以对文档进行标签的添加和删除
缺点:如果文档较大会更多的占用内存
应用:服务器
2.SAX:逐行解析,基于事件驱动
优点:几乎不占内存
缺点:只能读取,不能进行标签的添加和删除
应用:移动设备
1.2 常见的XML解析器
1.Dom4j
2.Jsoup
3.JAXP
4.PULL
1.2.1 Jsoup
Jsoup既可以解析xml,也可以解析html
使用步骤:
1.导入jar包
2.获取Document
Jsoup:
获取Document对象:
parse(File file , String charset):解析xml文件
parse(String xml):解析xml字符串
parse(URL url , int timeoutMillis):解析网络上的xml资源
Document:
获取Element对象:
getElementById(String id)
getElementsByTag(String tagName)
getElementsByAttribute(String attribute)
getElementsByAttributeValue(String attribute,String value)
Element:
获取Element子元素对象,方法同Document
获取属性值:
attr(String key)
获取文本内容:
text():获取纯文本
html():获取标签体的内部结构
Elements:本质上就是ArrayList,ArrayList<Element>
选择器:
select(String selector):返回Elements
选择器的语法请参照jquery中的
1.2.2 Dom4j
使用步骤:
1.导入jar包
2.获取SAXReader
Document:
获取根元素:getRootElement()
Element:
获取所有子元素:elements()
获取指定子元素:elements(String tagName)
获取元素名:getName()
获取指定属性的属性值:attributeValue(String key)
获取文本内容:getText()
获取指定子元素的文本内容:elementText(String tagName)