日期:2014-05-20  浏览次数:20671 次

java怎么在XML指定位置插入节点
xml文件:
<?xml version="1.0" encoding="utf-8"?>
<root>
  <child ID="1">  old  </child>
  <child ID="2">  old  </child>
</root>
--------------------------------------------
我要在child的ID="1"和ID="2"之间插入节点怎么插入?插入后的效果如下:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <child ID="1">  old  </child>
  <child ID="3">  new  </child>   -->这是新插入的的节点
  <child ID="2">  old  </child>
</root>
----------------------------------------------------
我用的是DOM4J的jar包 ,请高手指教.
------解决方案--------------------
呼呼,有没有发错位置,这里有人能解决吧?
------解决方案--------------------
API你看过了吗?
------解决方案--------------------

SAXReader reader = new SAXReader(); 
   Document doc = reader.read("conf/student.xml"); 
   Element root = doc.getRootElement(); 
   Element zhangsanNode = (Element) root.selectSingleNode(path); 
   Element cloneE = (Element) zhangsanNode.clone(); 
   cloneE.element("age").setText(Integer.parseInt(cloneE.elementText("age"))+1+""); 
   Element parent = zhangsanNode.getParent(); 
   parent.elements().add(2, cloneE); 
   OutputFormat format = OutputFormat.createPrettyPrint(); 
   XMLWriter writer = new XMLWriter(new FileOutputStream("conf/student.xml"),format); 
   writer.write(doc); 
   writer.close(); 

xml 
<?xml version="1.0" encoding="UTF-8"?> 
<students> 
  <student> 
    <name>zhangsan</name>  
    <age>18</age>  
    <gender>male</gender> 
  </student>  
  <student> 
    <name>lisi</name>  
    <age>22</age>  
    <age>23</age>  
    <gender>remale</gender> 
  </student>  
</students>
python简明教程

------解决方案--------------------
引用:
SAXReader reader = new SAXReader(); 
  Document doc = reader.read("conf/student.xml"); 
  Element root = doc.getRootElement(); 
  Element zhangsanNode = (Element) root.selectSingleNode(path); 
  E……


貌似看懂我的意思,我节点和属性都可以添加,只是想在指定位置插入还不是在最末尾位置插入,而且要用dom4j(因为一开始就是用的这个,换的话所有程序都要改)
------解决方案--------------------
阿弥陀佛
阿弥陀佛
------解决方案--------------------
关注中

------解决方案--------------------
一般插入都是这样
<?xml version="1.0" encoding="utf-8"?>