Dom4j 存在命名空间导致document.selectNodes() 无返回结果

2014-11-23 23:41:56 · 作者: · 浏览: 10

推荐阅读:


解决方法


// 获得xml对象
Document doc = DocumentHelper.parseText(xml);
Map map = new HashMap();
// 获得命名空间
String nsURI = doc.getRootElement().getNamespaceURI();
map.put("xmlns", nsURI);
// 创建解析路径,就是在普通的解析路径前加上map里的key值
XPath x = doc.createXPath("//xmlns:linuxidc/xmlns:book");
x.setNamespaceURIs(map);
// 这样就拿到结果了
List nodes = x.selectNodes(doc);
Node node = x.selectSingleNode(doc);