我插入一个节点在xml里面 抛出HIERARCHY_REQUEST_ERR : An attempt was made to insert a node where it is not permitted.请问大家这是什么异常  怎么解决 

解决方案 »

  1.   

    <?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);
    上面那句的时候 抛出异常
      

  2.   

    应该没有myElement.setNodeValue("aa"); 这句吧。我用的Jdom 根节点是Document myDocument = new Document(persons);。你的persons根节点在哪边定义的?
      

  3.   

    哦 是没有那句 我测试加上的我的根节点是这样定义的DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
    db = factory.newDocumentBuilder();
    xmldoc=db.parse(new File(path);
    其中的try catch 我没有加上
      

  4.   

    你是读xml还是写xml?   
      

  5.   

    如果是写的话,像你上面写的一个XML文件,<persons> 就是你的根节点。你的<person>节点只应该加到<persons>下面而不是加到document下面。
      

  6.   

    我是写xml  我的mydocument.appendChild(myElement); 中的mydocument = xmldoc.getDocumentElement();应该指向的就是<persons>
      

  7.   

    找到原因了 mydocument = db.parse(new File(path));
    root = mydocument.getDocumentElement();我应该是用mydocument.createElement("person");
    然后 将create的节点 加到 root 上面   我加到了mydocument 上面 他们都是节点 我也没注意呵呵  谢谢大家了 shown8335 说得对