1.基于XPATH的XML配置文件恢复方法,其特征在于,包括:
遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;
依据所述绝对路径,利用XPATH在第二配置文件中查询是否存在对应的叶子节点,所述第二配置文件为保存在可存储介质上的配置文件;
若存在,将第二配置文件中所述叶子节点的值写入所述第一配置文件中对应叶子节点;
进一步包括:
对所述第一配置文件中多实例中的实例进行删除,一个多实例对应仅保存一个实例;
依次获取所述第一配置文件中的一多实例;
判断所述第二配置文件中与所述一多实例对应的多实例中实例的个数;
若个数为零,则在所述第一配置文件中删除所述一多实例对应的实例;
若个数不为零,则对第一配置文件中所述一多实例中的实例进行拷贝,直至所述一多实例中的实例的个数与所述第二配置文件中所述对应的多实例中的实例的个数一致;
依次遍历第一配置文件中各个多实例下的叶子节点;
依据所遍历到的多实例的实例号和对应的叶子节点的名称,从所述第二配置文件中读取对应多实例下对应叶子节点的值,并将所述值写入第一配置文件中。
2.如权利要求1所述的基于XPATH的XML配置文件恢复方法,其特征在于,所述XML配置文件恢复方法具体为:
备份上一次配置恢复时随版本发布的第一配置文件,作为基准配置文件;
遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;
依据所述绝对路径,利用XPATH分别在第二配置文件和基准配置文件中查询是否存在对应的叶子节点;
若同时存在,判断第二配置文件中所述叶子节点的值与基准配置文件中所述叶子节点的值是否相同;
若不同,则将第二配置文件中所述叶子节点的值写入第二配置文件中对应叶子节点;
若相同,则不操作,继续查询所述绝对路径中的下一叶子节点。
3.如权利要求1所述的基于XPATH的XML配置文件恢复方法,其特征在于,所述依据所遍历到的多实例的实例号和对应的叶子节点的名称,从所述第二配置文件中读取对应多实例下对应叶子节点的值,并将所述值写入第一配置文件中,具体为:
依据所遍历到的多实例的实例号和对应的叶子节点的名称,判断所述第二配置文件中对应多实例下对应的叶子节点是否存储有对应的值;
若是,则将所述值写入第一配置文件中;若否,则不操作,继续遍历下一叶子节点。
4.如权利要求1所述的基于XPATH的XML配置文件恢复方法,其特征在于,所述遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径,具体为:
通过深度优先算法遍历随版本发布的第一配置文件中所有的叶子节点,在遍历过程中保持中间节点信息,获取从根节点开始所有的叶子节点的绝对路径。
5.基于XPATH的XML配置文件恢复系统,其特征在于,包括:
第一遍历模块,用于遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;
第一查询模块,用于依据所述绝对路径,利用XPATH在第二配置文件中查询是否存在对应的叶子节点,所述第二配置文件为保存在可存储介质上的配置文件;
第一写入模块,用于查询模块的查询结果为若存在时,将第二配置文件中所述叶子节点的值写入所述第一配置文件中对应叶子节点;
还包括:
第一删除模块,用于对所述第一配置文件中多实例中的实例进行删除,一个多实例对应仅保存一个实例;
获取模块,用于依次获取所述第一配置文件中的一多实例;
第二判断模块,用于判断所述第二配置文件中与所述一多实例对应的多实例中实例的个数;
第二删除模块,用于第二判断模块的判断结果为个数为零时,在所述第一配置文件中删除所述一多实例对应的实例;
拷贝模块,用于第二判断模块的判断结果为个数不为零时,对第一配置文件中所述一多实例中的实例进行拷贝,直至所述一多实例中的实例的个数与所述第二配置文件中所述对应的多实例中的实例的个数一致;
第二遍历模块,用于依次遍历第一配置文件中各个多实例下的叶子节点;
读取模块,用于依据所遍历到的多实例的实例号和对应的叶子节点的名称,从所述第二配置文件中读取对应多实例下对应叶子节点的值,并将所述值写入第一配置文件中。
6.如权利要求5所述的基于XPATH的XML配置文件恢复系统,其特征在于,所述系统具体包括:
备份模块,用于备份上一次配置恢复时随版本发布的第一配置文件,作为基准配置文件;
第一遍历模块,用于遍历随版本发布的第一配置文件中所有的叶子节点,获取所有的叶子节点的绝对路径;
第二查询模块,用于依据所述绝对路径,利用XPATH分别在第二配置文件和基准配置文件中查询是否存在对应的叶子节点;
第一判断模块,用于所述第二查询模块的查询结果为同时存在时,判断第二配置文件中所述叶子节点的值与基准配置文件中所述叶子节点的值是否相同;
第二写入模块,用于若判断模块的判断结果为不同时,将第二配置文件中所述叶子节点的值写入第二配置文件中对应叶子节点;
继续模块,用于若判断模块的判断结果为相同时,不操作,继续查询所述绝对路径中的下一叶子节点。
7.如权利要求5所述的基于XPATH的XML配置文件恢复系统,其特征在于,所述读取模块,具体用于依据所遍历到的多实例的实例号和对应的叶子节点的名称,判断所述第二配置文件中对应多实例下对应的叶子节点是否存储有对应的值;若是,则将所述值写入第一配置文件中;若否,则不操作,继续遍历下一叶子节点。
8.如权利要求5所述的基于XPATH的XML配置文件恢复系统,其特征在于,所述第一遍历模块,具体用于通过深度优先算法遍历随版本发布的第一配置文件中所有的叶子节点,在遍历过程中保持中间节点信息,获取从根节点开始所有的叶子节点的绝对路径。