java dom xml 查入一个node时候 抛出HIERARCHY_REQUEST_ERR 我插入一个节点在xml里面 抛出HIERARCHY_REQUEST_ERR : An attempt was made to insert a node where it is not permitted.请问大家这是什么异常 怎么解决 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?xml version="1.0" encoding="GB2312"?><persons> <person> <id></id> <name>aaa</name> <age>27</age> <sex>male</sex> </person></persons>向在上面的xml里面加上一个person 节点用下面的代码myElement = mydocument.createElement("person"); myElement.setNodeValue("aa"); Element myElementname = mydocument.createElement("name"); myElementname.setTextContent("Kaka"); Element myElementage = mydocument.createElement("age"); myElementname.setTextContent("26"); Element myElementsex = mydocument.createElement("sex"); myElementname.setTextContent("male"); Element myElementid = mydocument.createElement("id"); myElementname.setTextContent("5"); myElement.appendChild(myElementname); myElement.appendChild(myElementage); myElement.appendChild(myElementsex); myElement.appendChild(myElementid); mydocument.appendChild(myElement);上面那句的时候 抛出异常 应该没有myElement.setNodeValue("aa"); 这句吧。我用的Jdom 根节点是Document myDocument = new Document(persons);。你的persons根节点在哪边定义的? 哦 是没有那句 我测试加上的我的根节点是这样定义的DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();db = factory.newDocumentBuilder();xmldoc=db.parse(new File(path);其中的try catch 我没有加上 你是读xml还是写xml? 如果是写的话,像你上面写的一个XML文件,<persons> 就是你的根节点。你的<person>节点只应该加到<persons>下面而不是加到document下面。 我是写xml 我的mydocument.appendChild(myElement); 中的mydocument = xmldoc.getDocumentElement();应该指向的就是<persons> 找到原因了 mydocument = db.parse(new File(path));root = mydocument.getDocumentElement();我应该是用mydocument.createElement("person");然后 将create的节点 加到 root 上面 我加到了mydocument 上面 他们都是节点 我也没注意呵呵 谢谢大家了 shown8335 说得对 Class 和 类名.clas 总结一下方法重载编译出错 sun.net.ftp.FtpClient再提问 请问什么是方法签名? 关于使用HttpURLConnection访问页面报错的问题请教大家 着急的问题:怎样用java得到硬盘的序列号!!! 参数传递(在线等) 关于List的一个问题,郁闷,放分 在子树中怎样插入图片? java 新手上路的问题! 请问不在同步中怎么用wait和notify? 360度三维立体拖动
<persons>
<person>
<id></id>
<name>aaa</name>
<age>27</age>
<sex>male</sex>
</person></persons>
向在上面的xml里面加上一个person 节点用下面的代码myElement = mydocument.createElement("person");
myElement.setNodeValue("aa");
Element myElementname = mydocument.createElement("name");
myElementname.setTextContent("Kaka");
Element myElementage = mydocument.createElement("age");
myElementname.setTextContent("26");
Element myElementsex = mydocument.createElement("sex");
myElementname.setTextContent("male");
Element myElementid = mydocument.createElement("id");
myElementname.setTextContent("5");
myElement.appendChild(myElementname);
myElement.appendChild(myElementage);
myElement.appendChild(myElementsex);
myElement.appendChild(myElementid); mydocument.appendChild(myElement);
上面那句的时候 抛出异常
db = factory.newDocumentBuilder();
xmldoc=db.parse(new File(path);
其中的try catch 我没有加上
root = mydocument.getDocumentElement();我应该是用mydocument.createElement("person");
然后 将create的节点 加到 root 上面 我加到了mydocument 上面 他们都是节点 我也没注意呵呵 谢谢大家了 shown8335 说得对