Dom4j解析XML
SAXReader类
| 获取对象 | 说明 |
| public SAXReader() | 创建Dom4J的解析器对象
|
| Document read(String url)
| 加载XML文件成为Document对象
|
Document类
| 获取对象 | 说明 |
| Element getRootElement() | 获得根元素对象
|
| 方法 | 说明 |
| List<Element> elements() | 得到当前元素下所有子元素
|
| List<Element> elements (String name) | 得到当前元素下指定名字的子元素返回集合 |
| Element element(String name)
| 得到当前元素下指定名字的子元素,如果有很多名字相同的返回第一个 |
| String getName()
| 得到元素名字
|
| String attributeValue (String name) | 通过属性名直接得到属性值
|
| String elementText(子元素名)
| 得到指定名称的子元素的文本
|
| String getText()
| 得到文本
|
Xpath检索出XML
| 方法 | 说明 |
| Node selectSingleNode("表达式") | 获取符合表达式的唯一元素
|
| List<Node> selectNodes("表达式")
| 获取符合表达式的元素集合
|
XPath:绝对路径
| 方法 | 说明 |
| /根元素/子元素/孙元素 | 从根元素开始,一级一级向下查找,不能跨级 |
XPath:相对路径
| 方法 | 说明 |
| ./子元素/孙元素 | 从当前元素开始,一级一级向下查找,不能跨级 |
XPath:全文搜索
| 方法 | 说明 |
| //contact
| 找contact元素,无论元素在哪里 |
| //contact/name
| 找contact,无论在哪一级,但name一定是contact的子节点 |
| //contact//name
| contact无论在哪一种,name只要是contact的子孙元素都可以找到 |
XPath:属性查找
| 方法 | 说明 |
| //@属性名 | 查找属性对象,无论是哪个元素,只要有这个属性即可 |
| //元素[@属性名]
| 查找元素对象,全文搜索指定元素名和属性名 |
| //元素//[@属性名=‘值’]
| 查找元素对象,全文搜索指定元素名和属性名,并且属性值相等 |