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;
时间: 2024-10-11 03:45:44