dom4j 使用原生xpath 处理带命名空间的文档
2017-10-19 10:12
603 查看
测试文件
View Code
依赖
测试类
结果
注意:
1) 这种方法简单的xpath还可以,复杂的不好写
2)详细解读 https://www.w3.org/TR/xpath/
3) xpath的缩写/全称
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>cn.zno</groupId> <artifactId>z-test</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test</scope> </dependency> <dependency> <groupId>xmlunit</groupId> <artifactId>xmlunit</artifactId> <version>1.6</version> <scope>test</scope> </dependency> </dependencies> </project>
View Code
依赖
<dependencies> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.6</version> </dependency> </dependencies>
测试类
import java.io.InputStream; import javax.xml.transform.TransformerFactoryConfigurationError; import org.dom4j.Document; import org.dom4j.Node; import org.dom4j.io.SAXReader; public class Dom4jDemo { public static void main(String[] args) throws TransformerFactoryConfigurationError, Exception { InputStream is = Dom4jDemo.class.getResourceAsStream("/test.xml"); SAXReader saxReader = new SAXReader(); Document doc = saxReader.read(is); Node versionNode = doc.selectSingleNode("//*[local-name()='project']/*[local-name()='version']"); System.out.println(versionNode.getText()); } }
结果
0.0.1-SNAPSHOT
注意:
1) 这种方法简单的xpath还可以,复杂的不好写
2)详细解读 https://www.w3.org/TR/xpath/
3) xpath的缩写/全称
相关文章推荐
- dom4j处理带命名空间的XML-使用XPath
- java 在dom4j中,使用XPath处理XML(主要对命名空间的处理)
- dom4j中使用xpath解析带命名空间的xml文件,取不到节点的解决办法
- dom4j中通过xpath处理带命名空间的XML文件
- dom4j中通过xpath处理带命名空间的XML文件
- 转: dom4j中使用xpath解析带命名空间的xml文件,取不到节点的解决办法
- dom4j中使用xpath解析带命名空间的xml文件,取不到节点的解决办法
- 使用DOM4J解析XML文档,以及使用XPath提取XML文档
- 使用XPath查询带有命名空间(有xmlns)的XML
- DOM4J处理XML带有命名空间的四种方法
- 当 xml中存在命名空间,三种处理办法(dom4j)
- Stax处理XML(三)——XPath的使用和写文档、修改文档
- .NET(C#):使用XPath查询带有命名空间(有xmlns)的XML
- 当xml中存在命名空间,三种处理办法(dom4j)
- dom4j(5) 编码 命名空间处理
- 使用DOM4J解析XML文档,以及使用XPath提取XML文档
- xml内容解析,包含命名空间时需特殊处理(dom4j)
- XML中处理带有命名空间的XPath查询
- 当xml带有命名空间时。dom4j的处理办法
- 【转】+【改】DOM4J处理XML带有命名空间的四种方法