一、DOM4J是什么
1、DOM4J是针对Java开发人员专门提供的XML文档解析规范,它不同与DOM,但与DOM相似。DOM4J针对Java开发人员而设计,所以对于Java开发人员来说,使用DOM4J要比使用DOM更加方便。
2、 DOM4J同时对DOM和SAX提供了支持。
二、DOM4J所依赖的jar包
因为DOM4J并非JavaSE中的API,因此使用Dom4j开发,需下载dom4j相应的jar文件。
三、DOM4J获得Document对象的方式
1 | 1、读取XML文件,获得document对象 |
四、DOM4J解析XML文件实例
现有如下xml文件:
1 | <?xml version="1.0" encoding="UTF-8"?> |
操作一:获取所有name标签中的文本值
1 | public static void selectAll() throws Exception{ |
所用方法:
1 | SAXReader():通过调用该构造方法,来创建一个解析器对象 |
操作二:在第一个p1的最后添加一个gender标签
1 | public static void addElementTest() throws Exception{ |
所用方法:
1 | addElement("标签名"):父标签调用该方法,创建指定名称的标签,并将此标签添加进来 |
操作三:第二个p1标签下的age标签前面添加school标签
1 | public static void addBefore() throws Exception{ |
所用方法:
1 | DocumentHelper.createElement("标签名"):根据给定的标签名创建标签,并返回该标签对象 |
操作四:修改第一个p1下面的age标签的文本值
1 | private static void modifyAge() { |
使用方法:
1 | setText("文本内容"):标签调用此方法,设置自己的文本值 |
操作五:删除第一个p1下面的school标签
1 | public static void delSch(){ |
使用方法:
1 | remove(标签对象):父标签调用此方法,删除指定子标签 |
操作六:获取第一个p1的id属性
1 | private static void getValue() { |
所用方法:
1 | attributeValue("属性名"):标签调用此方法获取指定属性名的属性值 |
五、DOM4J对XPath的支持
(一)什么是XPath
要从 XML 文档中提取信息,最快捷简单的办法就是在程序中嵌入 XPath 表达式。XPath是一种为查询 XML 文档而设计的查询语言。
(二)XPath选择节点时常用的路径表达式
1 |
|
(三)在DOM4J里面提供了两个方法,用来支持XPath
1 | selectNodes("xpath表达式"):获取多个节点 |
(四)DOM4J和XPath结合的实例(需要外部jar包)
操作一:获取所有的name标签
1 | public static void selectAllName() { |
操作二:获取第一个p1标签下面的name标签的文本值
1 | public static void selectSingleName(){ |
Java新手,若有错误,欢迎指正!