已有的XML文件格式为
<?xml version="1.0" encoding="GBK"?>
<data>
  <sb tdt="0001" kk="111"/>
  <sb tdt="0001" kk="222"/>
  <sb tdt="0001" kk="333"/>
</data>
现在想修改最后一条记录
变成如下格式
<?xml version="1.0" encoding="GBK"?>
<data>
  <sb tdt="0001" kk="111"/>
  <sb tdt="0001" kk="222"/>
  <sb tdt="0001" kk="444"/>
</data>
不知道dom4j如何实现

解决方案 »

  1.   

    假设,XML文件存储的路径为c:\111.xml
    SAXReader saxReader = new SAXReader();   
    Document document = saxReader.read("C:/111.xml");  挨下来,我就不知道怎么找到最后一条纪录,并修改内容。
      

  2.   


    SAXReader saxReader = new SAXReader();  
    Document document = saxReader.read("C:/111.xml"); 
    Element root = document.getRootElement();//获取根节点
    List<Element> es = root.elements("sb");//获取sb的节点集合
    Element last = es.get(es.size() - 1);//修改特定节点,根据LZ的XML,修改最后一条记录
    Attribute kk = last.attribute("kk");//得到这个节点的KK属性
    kk.setText("444");//设置KK属性的值楼主看看。
      

  3.   


     List list = document.selectNodes("/data/sb/@kk" );
               Iterator iter = list.iterator();
               while(iter.hasNext()){
                  Attribute attribute = (Attribute)iter.next();
                  if(attribute.getValue().equals("333")){
                      attribute.setValue("444");
                  }  
               }