paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
2012-10-21 23:08
591 查看
paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
----作者Attilax , 1466519819@qq.com---
可能是因为XML文件带有命名空间.比如
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
因为dom4j不能识别带命名空间的节点,所以在读取带命名空间的XML时,要在每个节点前加上命名空间,方法如下例子:
Document doct=reader.read(xmlFile);
HashMap nsMap=new HashMap();
nsMap.put("ns","http://java.sun.com/xml/ns/jbi"); //加入命名空间
//获取子节点
XPath xsub=doct.createXPath("//ns:title");
xsub.setNamespaceURIs(nsMap);
Element element = (Element) xsub.selectSingleNode(doct);
参考
dom4j含xmlns(命名空间)调用selectNodes为空问题 - mochouxiyan的专栏 - 博客频道 - CSDN_NET.htm
上面就是运用dom4j解析带命名空间的xml文件的节点的例子,只要给XPath设置默认的命名空间就行了
----作者Attilax , 1466519819@qq.com---
可能是因为XML文件带有命名空间.比如
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
因为dom4j不能识别带命名空间的节点,所以在读取带命名空间的XML时,要在每个节点前加上命名空间,方法如下例子:
Document doct=reader.read(xmlFile);
HashMap nsMap=new HashMap();
nsMap.put("ns","http://java.sun.com/xml/ns/jbi"); //加入命名空间
//获取子节点
XPath xsub=doct.createXPath("//ns:title");
xsub.setNamespaceURIs(nsMap);
Element element = (Element) xsub.selectSingleNode(doct);
参考
dom4j含xmlns(命名空间)调用selectNodes为空问题 - mochouxiyan的专栏 - 博客频道 - CSDN_NET.htm
上面就是运用dom4j解析带命名空间的xml文件的节点的例子,只要给XPath设置默认的命名空间就行了
相关文章推荐
- dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结 (转)
- 读取XML节点selectNodes与selectSingleNode的用法的区别
- xmlnode.SelectSingleNode访问不到节点
- 解析xml文件 selectSingleNode取不到节点
- XML SelectSingleNode的使用 根据节点属性获取该节点
- XML——SelectSingleNode 获取有命名空间的节点的值
- Delphi SelectSingleNode的使用 根据节点属性获取该节点
- Delphi SelectSingleNode的使用 根据节点属性获取该节点
- c# xml XPath SelectNodes, SelectSingleNode 无法获取
- Xml中SelectSingleNode方法,xpath查找某节点用法
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- 关于selectNodes与selectSingleNode的用法的区别
- C#操作xml SelectNodes,SelectSingleNode总是返回NULL原因和解决方案
- hadoop问题总结:datanode启动后,在web50070端口发现不到datanode节点(能力工场)
- firefox chrome ie9,10,11 不支持selectSingleNode和selectNodes的解决方法
- trigger 触发select 获取不到焦点的原因 trigger 和triggerhandler的区别
- 关于selectNodes与selectSingleNode的用法的区别