2 adamjx adamjx 于 2016.01.21 10:50 提问

JAVA的DOM4J的XPATH的selectNodes问题

向指定元素节点上增加同级元素节点
// Element firststudentinfo = (Element)document.selectSingleNode("/exam/student[1]");
// List firststudentinfolist = firststudentinfo.elements();
// Element student = DocumentHelper.createElement("age").addText("18");
// firststudentinfolist.add(2,student);

List firststudentinfolist1 = document.selectNodes("/exam/student[1]/*");
Element student1 = DocumentHelper.createElement("age").addText("18");
firststudentinfolist1.add(2,student1);

提问,为何上面注释的代码可以实现向指定元素节点上增加同级元素节点这个功能,而下面的代码却无法输入到文件?
P.S这只是程序片段,程序结尾有write到xml文件中。
附exam.XML文件
<?xml version="1.0" encoding="GBK"?>


小赵

沈阳

89



李四

大连

97

望各位大哥不吝赐教。。。谢谢了

1个回答

Mr_dsw
Mr_dsw   Ds   Rxr 2016.01.21 13:23

你调试的结果是怎么样的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
XPath 语法(如何使用dom4j中的selectNodes函数)
http://www.w3school.com.cn/xpath/xpath_syntax.asp
dom4j使用selectNodes搜索xml节点
第一步:引用jar包    dom4j-1.6.1.jar (http://www.dom4j.org/下载最新版)    jaxen-1.1-beta-6.jar (http://jaxen.codehaus.org/ 这是官网,点击下载链接好像不行,可以去csdn)    支持XPath必须的,否则会报错java.lang.NoClassDefFoundError: org/
dom4j --用xpath排序xml
问题描述:       在dom4j中可以通过xpath过滤xml数据中的节点,并且可以进行排序。调用方法有两种:             方法一:org.dom4j.XPath          selectNodes(Object context, XPath sortXPath)             selectNodes evaluates the XPath
dom4j含xmlns(命名空间)调用selectNodes为空问题
在XML根节点出现 或 xmlns等于的就是命名空间了 因为dom4j不能识别带命名空间的节点,所以在读取带命名空间的XML时,要在每个节点前加上命名空间,方法如下例子:   Map nsMap = null; @SuppressWarnings("unchecked") public void readXml(String xml) throws DocumentException{
Dom4j 存在命名空间导致document.selectNodes() 无返回结果
xml文件中存在命名空间导致 document.selectNodes("//linuxidc/book") 无返回结果  如:          ...     推荐阅读: dom4j+xpath读取xml文件配置Oracle数据库连接 http://www.linuxidc.com/Linux/2013-04/83405.htm Struts2+jQuery+Dom4j
在Websphere中调用javax.xml.xpath.XPath的evaluate方法会报java.lang.VerifyError异常
最近在一个项目开发中,使用javax.xml.xpath.XPath类的evaluate计算xml节点路径,开发过程一直很顺利,直到部署上线后,才发现在生产环境中程序一直报错。在调试跟踪后,发现是Websphere服务器的某些jar包与项目中的jar包发生冲突造成的,这个问题在开发环境是不会出现的,因为开发环境用的是tomcat。问题代码如下:import javax.xml.xpath.XPath
paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结
paip.dom4j中 selectSingleNode 或selectNodes获取不到节点的原因总结 ----作者Attilax , 1466519819@qq.com--- 可能是因为XML文件带有命名空间.比如 http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan
dom4j document/element selectNodes方法 返回空
原因: 一、命名空间问题 二、selectNodes("")使用xpath语言查找,xpath路径写错。
Dom4j中SelectNodes使用方法
XPath 是 XML 的内容,这里 SelectNodes 是 dom4j 中 XmlDocument 或 XmlNode 的一个方法。SelectNodes 使用 XPath 来选取节点。 重要语法 SelectNodes("item") 从当前节点的儿子节点中选择名称为 item 的节点。 SelectNodes("/item") 从根节点的儿子节点中选择名称为 item 的节点。
dom4j中selectNodes无法获得节点
原文转自http://blog.csdn.net/memray/article/details/7525122 没想到搞个dom4j会出这么多怪错。。       最近在研究XBRL GL的有关内容,在项目中要求吧XBRL GL导入到11179注册库中,根据11179建立数据库,然后从XBRL GL分类标准中导入数据到数据库。在导入过程中需要用到dom4j来读取XBRL GL文件,用selec