dom4j获取属性对应节点(xpath方式)

xml文件内容

<?xml version="1.0" encoding="UTF-8" ?>
<services>
<service code="0401" serviceName="/post" method="POST">
<paramMap>
<param src="" dest=""/>
<param src="" dest=""/>
<param src="" dest=""/>
</paramMap>
</service>
</services>

pom.xml

<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>
<dependency>
<groupId>saxpath</groupId>
<artifactId>saxpath</artifactId>
<version>1.0-FCS</version>
</dependency>
jaxen,saxpath必须包含,否则根据xpath查找节点无法执行出来

java代码
private Document document;
if(document == null ){
SAXReader reader = new SAXReader();
URL url = getClass().getClassLoader().getResource("vc-service-map.xml");
logger.debug("url:"+url);
document = reader.read(url);
}
String msgCode=messageRequest.getHead().get("msgCode").toString();
//Element rootNode = document.getRootElement();
Element service=(Element)document.selectSingleNode("/services/service[@code='"+msgCode+"']");

猜你喜欢

转载自www.cnblogs.com/pthwang/p/9327326.html