dom4j用xpath查找xml的指定节点
添加依赖:
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1</version>
</dependency>
没有jaxen会报异常:java.lang.NoClassDefFoundError: org/jaxen/JaxenException
Document doc = DocumentHelper.parseText(xml);
Element root = doc.getRootElement();
/找到subject的属性value=math,chapter属性value=1的text节点
Node node = root.selectSingleNode("//subject[@value='math']/chapter[@value='1']/text");
下面列出了最有用的路径表达式:
表达式 描述
nodename 选取此节点的所有子节点
/ 从根节点选取
/ 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
具体的xpath可以查阅:http://www.w3school.com.cn/xpath/index.asp