【技术实现步骤摘要】
本专利技术涉及XML语言运用领域,具体说的是基于XPATH的XML配置文件恢复方法及其系统。
技术介绍
XML语言作为可扩展标记语言,是一种允许用户对自己的标记语言进行定义的源语言,只要遵循一定的规则,XML的可扩展性几乎是无限的,而且这种扩展并不以结构混乱或影响基础配置为代价。XML文档格式的管理信息可以很容易地通过HTTP协议传输,由于HTTP是建立在TCP之上的,故管理数据能够可靠传输。XML还支持访问XML文档的标准API,如DOM等。XML格式是W3C的标准,各种平台通用,可移植性好。XPATH即为XML路径语言,它是一种用来确定XML文档中某部分位置的语言,基于XML的树状结构,提供在数据结构树中找寻节点的能力。因此,常会被用来在XML文档中进行导航。基于XML的上述优点,XML文件常常被用来保存应用程序的配置。对于以XML文件保存配置的应用程序来说,通常情况下,在发布软件版本时会有一个XML文件作为运行配置文件,此外还有一份保存在可存储介质上的XML配置文件。这样就存在一个问题:当系统重启时就需要将保存在可存储介质上的XML配置文件的内容恢复到随版本发布的运行配置文件中。针对上面提到的当系统重启时需要将保存在可存储介质上的XML配置文件的内容恢复到随版本发布的运行配置文件中的问题,目前还没有完整的解决方案,并且,在恢复完XML配置之后系统运行的XML配置就是保存在可存储介质上的XML配置,这样就会使得应用程序在版本发布时不能支持修改原有默认值,所述修改包括用户对可存储介质上XML配置文件的修改,以及软件开发者对版本发布的XML配置文件的修改 ...
【技术保护点】
基于XPATH的XML配置文件恢复方法,其特征在于,包括:遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;依据所述绝对路径,利用XPATH在第二配置文件中查询是否存在对应的叶子节点,所述第二配置文件为保存在可存储介质上的配置文件;若存在,将第二配置文件中所述叶子节点的值写入所述第一配置文件中对应叶子节点。
【技术特征摘要】
1.基于XPATH的XML配置文件恢复方法,其特征在于,包括:遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;依据所述绝对路径,利用XPATH在第二配置文件中查询是否存在对应的叶子节点,所述第二配置文件为保存在可存储介质上的配置文件;若存在,将第二配置文件中所述叶子节点的值写入所述第一配置文件中对应叶子节点。2.如权利要求1所述的基于XPATH的XML配置文件恢复方法,其特征在于,所述XML配置文件恢复方法具体为:备份上一次配置恢复时随版本发布的第一配置文件,作为基准配置文件;遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;依据所述绝对路径,利用XPATH分别在第二配置文件和基准配置文件中查询是否存在对应的叶子节点;若同时存在,判断第二配置文件中所述叶子节点的值与基准配置文件中所述叶子节点的值是否相同;若不同,则将第二配置文件中所述叶子节点的值写入第二配置文件中对应叶子节点;若相同,则不操作,继续查询所述绝对路径中的下一叶子节点。3.如权利要求1或2所述的基于XPATH的XML配置文件恢复方法,其特征在于,进一步包括:对所述第一配置文件中多实例中的实例进行删除,一个多实例对应仅保存一个实例;依次获取所述第一配置文件中的一多实例;判断所述第二配置文件中与所述一多实例对应的多实例中实例的个数;若个数为零,则在所述第一配置文件中删除所述一多实例对应的实例;若个数不为零,则对第一配置文件中所述一多实例中的实例进行拷贝,直至所述一多实例中的实例的个数与所述第二配置文件中所述对应的多实例中的实例的个数一致;依次遍历第一配置文件中各个多实例下的叶子节点;依据所遍历到的多实例的实例号和对应的叶子节点的名称,从所述第二配置文件中读取对应多实例下对应叶子节点的值,并将所述值写入第一配置文件中。4.如权利要求3所述的基于XPATH的XML配置文件恢复方法,其特征在于,所述依据所遍历到的多实例的实例号和对应的叶子节点的名称,从所述第二配置文件中读取对应多实例下对应叶子节点的值,并将所述值写入第一配置文件中,具体为:依据所遍历到的多实例的实例号和对应的叶子节点的名称,判断所述第二配置文件中对应多实例下对应的叶子节点是否存储有对应的值;若是,则将所述值写入第一配置文件中;若否,则不操作,继续遍历下一叶子节点。5.如权利要求1所述的基于XPATH的XML配置文件恢复方法,其特征在于,所述遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径,具体为:通过深度优先算法遍历随版本发布的第一配置文件中所有的叶子节点,在遍历过程中保持中间节点信息,获取从根节点开始所有的叶子节点的绝对路径。6.基于XPATH的XML配置文件恢复系统,其特征在于,包括:第一遍历模块,用于遍历随版本发布的第...
【专利技术属性】
技术研发人员:倪晋华,俞大风,
申请(专利权)人:福建三元达网络技术有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。