public class Test {

public static void main(String[] args) throws DocumentException, IOException{

SAXReader reader = new SAXReader();

Document doc = reader.read(new File("c:/aaa.xml"));

List list1=doc.selectNodes("//a/b/c"); 

for(Iterator i=list1.iterator();i.hasNext();){

Element ele=(Element)i.next();

ele.setText("111");
    
}

File f=new File("c:/aaa.xml");

Writer writer = new FileWriter(f); OutputFormat format = OutputFormat.createPrettyPrint(); //format.setEncoding("UTF-8"); XMLWriter xmlWriter = new XMLWriter(writer, format); xmlWriter.write(doc); xmlWriter.close();
}
}代码是上面这样,xml编码是UTF-8,修改完之后,双击打开有错误,以上代码该怎么修改呢!?

解决方案 »

  1.   

    List list1=doc.selectNodes("//a/b/c"); 字符串的转义还没全转吧??
    Document doc = reader.read(new File("c:/aaa.xml"));
    File f=new File("c:/aaa.xml");
    你第一次读的怎么跟第二读的一样呢?问题是你在第二次读的时候就已经修改了。把第二的文件名换其他的试下
      

  2.   

    我试了,也不行,我就是想修改这个xml,然后保存一下。双击能显示的正确的结果,能不能指点一下!
      

  3.   

    我觉得你应该先不修改,看看能不能把xml文件读取到其他地方显示。我估计不是修改的问题,是你创建文件或读取的有问题。
      

  4.   

    嗯,是我读的时候出现的问题,现在已经好了。我用dom4j修改的,这个没问题,就是写回去的时候有点问题,呵呵,谢谢你的关注