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;

时间: 2024-10-11 03:45:44

xml动态修改 dom4j修改的相关文章

Java xml 操作(Dom4J修改xml   + xPath技术  + SAX解析 + XML约束)

1 XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的"数据库" 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签. 属性: 可有多个属性,但属性值必须用引号(单引号或双引号)包含,但不能省略,也不能单 双混用. 文档声明: <?xml version="1.0" encoding="utf-8"?> encoding="utf-8&q

Quartz 2.2 动态添加、修改和删除定时任务

QuartzManager.Java 动态添加.修改和删除定时任务管理类 import org.quartz.CronScheduleBuilder; import org.quartz.CronTrigger; import org.quartz.Job; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.JobKey; import org.quartz.Scheduler; import

maven-jetty插件配置时,webdefault.xml的取得和修改

取得 没必要去下载一个jetty客户端去找webdefault.xml了. 可以去maven的本地仓库找到 \org\eclipse\jetty\jetty-webapp\版本号\ 里面的jar文件,解压后找到webdefault.xml进行修改. 修改 为了能够在服务器启动时修改静态文件,需要把 useFileMappedBuffer 改成false. 为了能够让项目自身的web.xml里的<welcome-file-list>标签能够不被覆盖掉而产生效果,需要把 <welcome-f

转: javascript动态添加、修改、删除对象的属性和方法

在其他语言中,对象一旦生成,就不可更改了,要为一个对象添加修改成员必须要在对应的类中修改,并重新实例化,而且程序必须经过重新编译.JavaScript 中却非如此,它提供了灵活的机制来修改对象的行为,可以动态添加.修改.删除属性和方法.例如首先使用类Object来创建一个空对象user:var user=new Object();1.添加属性这时user 对象没有任何属性和方法,显然没有任何用途.但可以为它动态的添加属性和方法,例如:user.name=”jack”;user.age=21;us

javascript里面的数组,json对象,动态添加,修改,删除示例

1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 6 <title>javascript里面的数组,json对象,动态添加,修改,删除示例</title> 7 <script src="http://ajax.go

【sql技巧】mysql修改时,动态指定要修改的字段 update `table` set (case when ....) = 1 where id = xx

如果你点进了这篇帖子,那么你一定遇到了跟我一样的问题.别看题目的set case when...,我一开始也是第一反应是用case when但是发现并不好使. 问题呢,说得高大上一点:动态指定要修改的字段. 其实小白在这里并没找到我以为的解决方法[笑哭],但是好歹问题是解决了. 这里是原帖的地址: http://stackoverflow.com/questions/4830191/t-sql-using-a-case-in-an-update-statement-to-update-certa

Quartz动态添加、修改和删除定时任务

任务调度开源框架Quartz动态添加.修改和删除定时任务 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制.Quartz框架包含了调度器监听.作业和触发器监听.你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听.Quartz 允许开发人员根据时间间隔(或天)来调度作业.它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联.整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业.并且还

CentOS 设置网络(修改IP&amp;修改网关&amp;修改DNS)

CentOS修改IP地址 # ifconfig eth0 192.168.1.80 这样就把IP地址修改为192.168.1.80(如果发现上不了网了,那么你可能需要把网关和DNS也改一下,后面会提到),但是当你重新启动系统或网卡之后,还是会变回原来的地址,这种修改方式只适用于需要临时做IP修改.要想永久性修改,就要修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件,这个文件的主要内容如下(你的文件中没有的项,你可以手动添加): # vi  /etc/

修改 OWA 修改密码的生效时间

从 Exchange 中文站之前的文章配置 OWA 下次登录时更改密码中, 我们知道在 Exchange 2010 SP1 当中是可以配置在 OWA 中修改域用户的密码的,那么不知道你是否有发现,当用户在 OWA 对密码进行修改时,修改的信息并不会马上生效,而是要等一会,这个时间默认为15分钟.本文将讲解如何对这个时间进行修改,可以将其缩短或者变成立刻生 效. 出现无法立刻更新的主要原因是 IIS 在默认延迟 15 分钟之后进行更新的用户令牌.例如,如果更改用户帐户的密码,将无法连接到服务器提供