首页 > 代码库 > xml动态修改 dom4j修改

xml动态修改 dom4j修改

xml的动态修改需要传入的参数

xml的位置(tomcat中的发布位置)、修改后的xml需要保存的位置(因为动态修改,所以建议和xml未修改前的位置相同)、添加的节点的信息、或者修改的节点的信息

     SAXReader reader = new SAXReader();
        Document doc =  reader.read(new File(path));//path文件的路径
        Element root = doc.getRootElement();//获取根节点
        List childList = root.elements();//获取根节点下节点数目
        Element it = (Element)childList.get(1);//需要往这个节点下添加子节点,所以在这里拿到它
        Element dateElement = it.addElement("task:scheduled"); //创建一个节点,task:scheduled是节点名称,就像spring中的bean一样
        dateElement.addAttribute("ref", pd.getString("ref"));//一下的三句分别是给节点添加属性
        dateElement.addAttribute("method", pd.getString("method"));
        dateElement.addAttribute("cron", pd.getString("cron"));
        XMLWriter output;//创建输出流
        OutputFormat format = OutputFormat.createPrettyPrint();
        try {
            output = new XMLWriter(new FileWriter(path), format); //这里的path是修改后需要保存的路径,建议和未修改前位置一样
            output.write(doc);
            output.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

引入类的包路径

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

xml动态修改 dom4j修改