一、解析方式:DOM解析,SAX解析
1)解析工具
基于DOM解析原理的:
1)JAXP (oracle-Sun公司官方)
2)JDOM工具(非官方)
3)Dom4J工具(非官方):最好用,三大框架(默认读取xml的工具就是Dom4j)
.......
SAX解析原理:
1)Sax解析工具(oracle-sun公司官方)
2)DOM解析原理:xml解析器一次性把整个xml文档加载进内存,然后在内存中构建一颗Document的对象树,通过Document对象,得到树上的节点对象,通过节点对象访问(操作) 到xml文档的内容。原理和JavaScript中DOM一样。
树只有一个根标签。树上的分支,叫节点(Node)。
节点信息(节点名称,节点类型)封装成Node(所有分支的抽象)
标签节点(标签)封装成Element
属性节点(属性名称,属性值)封装成Attribute
文本节点(文本内容)封装成Text
Document对象代表一个完整的文档。通过Document对象可以得到它下面的其他节点对象。通过节点对象访问xml文档的内容(标签,文本,属性,注释......)
二、DOM4J读取xml文件
1)节点:Iterator Element.nodeIterator(); //获取当前标签节点下的所有子节点
2)标签:
Element Document.getRootElement(); //获取xml文档的根标签
Element ELement.element("标签名") //指定名称的第一个子标签
Iterator Element.elementIterator("标签名");// 指定名称的所有子标签
List Element.elements(); //获取所有子标签
3)属性:
String Element.attributeValue("属性名") //获取指定名称的属性值
Attribute Element.attribute("属性名");//获取指定名称的属性对象
Attribute.getName() //获取属性名称
Attibute.getValue() //获取属性值
List Element.attributes(); //获取所有属性对象
Iterator Element.attibuteIterator(); //获取所有属性对象
4)文本:
Element.getText(); //获取当前标签的文本
Element.elementText("标签名") //获取当前标签的指定名称的子标签的文本内容
四、总结
1)XML的作用
配置文件(最常见)
作为数据库
2)XML语法
3)XML解析(DOM解析)
3.1 DOM解析原理
3.2 Dom4j工具(基于DOM解析)
读取:
节点
标签节点
属性节点
文本节点
五、
1)、xml作用:1)作为软件配置文件;2)作为小型的"数据库"。
注:保存xml文档时的编码 和 解析xml文档时的编码要保持一致,才能避免中文乱码问题!
2)、Dom4J修改xml
修改属性值,对象:
①得到标签对象;②得到属性对象;③修改属性值