用MyEclipse开发时,我将xml文件放到src目录下,那么myeclipse会自动将其放到classes目录下也就是类路径下,现在我想修改xml文件中的内容:
这是我修改的代码public class ModifyXML{
    
    public static void main(String[] args) 
        throws IOException,FileNotFoundException,JDOMException{
        //SAXBuilder使用一个第三方的SAX解析器,可以从不同的输入源来构造JDOM文档对象
        SAXBuilder builder=new SAXBuilder();
        Resource resource=new ClassPathResource("sample.xml");
        File file=resource.getFile();
//        File file=ResourceUtils.getFile("classpath:sample.xml");
//        File file=new File("E:\\SSH\\zuwoba\\sample.xml");
        Document doc=builder.build(file);
        //getRootElement()用于返回文档的根元素.
        Element element=doc.getRootElement();
        //Element类中定义了获取子元素的方法,得到所有子元素
        List list=element.getChildren();
        //iterator()方法返回以正确顺序在列表的元素上进行迭代的迭代器
        //hasNext()方法判断如果仍有元素可以迭代,则返回 true
        for(Iterator i=list.iterator();i.hasNext();){
            //next()方法返回迭代的下一个元素。重复调用此方法直到hasNext()方法返回 false,
            //这将精确地一次性返回迭代器指向的集合中的所有元素
            Element current=(Element)i.next();
            //判断姓名子元素的值是否为张三
            if(current.getChildText("姓名").equals("张三")){
                //删除年龄子元素
                current.removeChild("年龄");
                //创建年龄子元素
                Element age=new Element("年龄");
                //设置年龄子元素的值
                age.setText("23");
                //将年龄子元素添加到父元素中
                current.addContent(age);
            }
            //判断姓名子元素的值是否为李四
            if(current.getChildText("姓名").equals("李四")){
                //删除年龄子元素
                current.removeChild("年龄");
                //创建年龄子元素
                Element age=new Element("年龄");
                //设置年龄子元素的值
                age.setText("25");
                //将年龄子元素添加到父元素中
                current.addContent(age);
            }
        }
        Format format=Format.getCompactFormat();
        //设置文档字符编码
        format.setEncoding("GB18030");
        //设置缩进字符串
        format.setIndent("  ");
        //XMLOutputter类提供了将JDOM树输出为字节流的能力
        XMLOutputter XMLOut=new XMLOutputter(format);
        //输出到文件
        XMLOut.output(doc,new FileOutputStream(file));
        System.out.println("执行成功");
    }}
这样只有将file定义成这样
   File file=new File("E:\\SSH\\zuwoba\\sample.xml");
才会修改成功,也就是此时xml文件时在外部的,如果我把xml文件放到类路径下,用Spring的工具类获取xml文件,再执行修改,虽然提示修改成功,但是文件中的内容一点没改
     Resource resource=new ClassPathResource("sample.xml");
        File file=resource.getFile();
//  File file=ResourceUtils.getFile("classpath:sample.xml");
这是为什么?