dom4j 存在命名空间导致document.selectNodes() 无返回结果
2014-03-25 22:33
429 查看
xml文件中存在命名空间导致 document.selectNodes("//books/book") 无返回结果
如:
<books xmlns="http://www.books.com">
<book>
<title></title>
<des></des>
...
</book>
</books>
解决方法:
如:
<books xmlns="http://www.books.com">
<book>
<title></title>
<des></des>
...
</book>
</books>
解决方法:
// 获得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:books/xmlns:book"); x.setNamespaceURIs(map); // 这样就拿到结果了 List<Node> nodes = x.selectNodes(doc); Node node = x.selectSingleNode(doc);
相关文章推荐
- Dom4j 存在命名空间导致document.selectNodes() 无返回结果
- Dom4j 存在命名空间导致document.selectNodes() 无返回结果
- dom4j document/element selectNodes方法 返回空
- 当xml中存在命名空间,三种处理办法(dom4j)
- 当 xml中存在命名空间,三种处理办法(dom4j)
- 当xml中存在命名空间,dom4j解析以及写入xml文档时的乱码问题
- 当xml中存在命名空间,三种处理办法(dom4j)
- 当xml中存在命名空间,三种处理办法(dom4j)
- 当xml带有命名空间时。dom4j的处理办法
- 带命名空间的action再次返回原来页面,命名空间引起的错误
- cxf返回的报文,命名空间无前缀
- 浅谈Struts2的命名空间及以传统形式返回json数据
- dom4j中使用xpath解析带命名空间的xml文件,取不到节点的解决办法
- 存储过程中使用RETURN语句返回数值,.Net里用ExecuteScalar方法结果将会导致一个未引用到具体对象的异常
- action 交互到带命名空间的action 还有返回的jsp
- 转: dom4j中使用xpath解析带命名空间的xml文件,取不到节点的解决办法
- dom4j修改带有命名空间的xml文件
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL原因和解决方案
- C#中用SelectSingleNode方法解析带有多个命名空间的XML文件
- 使用dwr同步调用导致无法获取js方法的返回结果问题的解决办法