一种文件编辑方法、装置、设备及介质与流程

文档序号:31778383发布日期:2022-10-12 09:08阅读:54来源:国知局
一种文件编辑方法、装置、设备及介质与流程

1.本技术涉及软件设计及计算机技术领域,特别涉及一种文件编辑方法、装置、设备及介质。


背景技术:

2.可扩展标记语言(extensible markup language,xml)是用来结构化、存储以及传输信息的文本格式,xml包含结构化信息且容易扩展的特点,使其广泛应用于软件开发的各个方面,在软件开发中,需要经常性地对xml文件进行查看和修改。
3.现有技术通常采用在图形化界面下的各种文本编辑器或可视化编辑工具对xml文件进行编辑,例如通过vi(一种文本编辑器)/emacs(编辑器宏,一种集成开发环境和文本编辑器)等文本编辑器来编辑修改,然而文本编辑器不会解析xml文件,也不识别xml的结构化信息,对xml文件的修改需要由人工核验语法格式是否正确,xml文件编辑的精度和效率较低,成本较高。


技术实现要素:

4.本技术为克服上述现有技术存在的缺陷而提供一种文件编辑方法、装置、设备及介质,能够使命令行界面下的xml文件编辑自动化,进而提高xml文件编辑的精度和效率,降低成本。
5.为解决上述技术问题,本技术提供以下技术方案:
6.根据本技术实施例的第一方面,提供一种文件编辑方法,包括:
7.响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息;所述第一编辑命令中携带第一命令参数信息,所述结构树信息为对所述待编辑的可扩展标记语言文件进行解析得到,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性;
8.基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息;
9.基于所述第一路径信息从所述结构树信息中确定第一目标节点;
10.对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
11.在一个示例性的实施方式中,所述第一命令参数信息配置有第一参数位置信息,所述基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息,包括:
12.在所述第一命令参数信息的数量满足第一数量阈值的情况下,从所述第一命令参数信息中确定出第一目标命令参数信息;所述第一目标命令参数信息为所述第一参数位置信息满足第一预设条件的所述第一命令参数信息;
13.基于所述第一目标命令参数信息确定所述第一路径信息。
14.在一个示例性的实施方式中,所述对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果,包括:
15.对所述第一目标节点进行编辑,得到第一目标结构树信息;
16.基于所述第一目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
17.在一个示例性的实施方式中,所述对所述第一目标节点进行编辑,得到第一目标结构树信息,包括:
18.在所述第一命令参数信息的数量满足第二数量阈值的情况下,确定所述第一命令参数信息对应的编辑类型信息;所述第二数量阈值大于所述第一数量阈值;
19.根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息。
20.在一个示例性的实施方式中,所述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,包括:
21.在所述编辑类型信息表征对节点名称进行修改的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;
22.基于所述第二目标命令参数信息对所述第一目标节点的节点名称进行修改,得到所述第一目标结构树信息。
23.在一个示例性的实施方式中,所述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,包括:
24.在所述编辑类型信息表征对节点值进行修改的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;在所述第一目标节点表征所述元素的情况下,所述节点值表征所述元素的文本内容,在所述第一目标节点表征所述属性的情况下,所述节点值表征所述属性的属性值;
25.基于所述第二目标命令参数信息对所述第一目标节点的节点值进行修改,得到所述第一目标结构树信息。
26.在一个示例性的实施方式中,所述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,包括:
27.在所述编辑类型信息表征对当前节点进行删除的情况下,删除所述第一目标节点,得到所述第一目标结构树信息。
28.在一个示例性的实施方式中,所述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,包括:
29.在所述第一目标节点表征所述元素、且所述编辑类型信息表征为所述第一目标节点添加子元素的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;
30.基于所述第二目标命令参数信息,为所述第一目标节点添加子元素,得到所述第一目标结构树信息。
31.在一个示例性的实施方式中,所述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,包括:
32.在所述第一目标节点表征所述属性、且所述编辑类型信息表征为所述第一目标节点添加属性的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息和第三目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息,所述第三目标命令参数信息为所述第一参数位置信息满足第三预设条件的所述第一命令参数信息;
33.基于所述第二目标命令参数信息和所述第三目标命令参数信息,为所述第一目标节点添加属性,得到所述第一目标结构树信息。
34.在一个示例性的实施方式中,在所述第一命令参数信息的数量不满足所述第一数量阈值的情况下,所述方法还包括:
35.在检测到所述待编辑的可扩展标记语言文件对应的第二编辑命令的情况下,将所述第二编辑命令作为当前编辑命令;
36.基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息;
37.基于所述当前路径信息从所述结构树信息中确定当前目标节点;
38.确定所述当前编辑命令对应的当前编辑类型信息;
39.根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息;
40.重复所述在检测到所述待编辑的可扩展标记语言文件对应的第二编辑命令的情况下,将所述第二编辑命令作为当前编辑命令,至所述得到当前结构树信息的步骤,直至所述当前编辑类型信息表征退出对所述当前目标节点进行编辑,得到第二目标结构树信息;
41.基于所述第二目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第二编辑结果。
42.根据本技术实施例的第二方面,提供一种文件编辑装置,所述装置包括:
43.信息获取模块,用于响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息;所述第一编辑命令中携带第一命令参数信息,所述结构树信息为对所述待编辑的可扩展标记语言文件进行解析得到,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性;
44.第一路径信息确定模块,用于基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息;
45.第一目标节点确定模块,用于基于所述第一路径信息从所述结构树信息中确定第一目标节点;
46.第一目标节点编辑模块,用于对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
47.根据本技术实施例的第三方面,提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由所述处理器加载并执行以实现上述任一所述的文件编辑方法。
48.根据本技术实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中
存储有至少一条指令或者至少一段程序,所述至少一条指令或者所述至少一段程序由处理器加载并执行以实现上述任一所述的文件编辑方法。
49.采用上述技术方案,本技术具有如下有益效果:
50.本技术提供的一种文件编辑方法、装置、设备及介质,响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息;所述第一编辑命令中携带第一命令参数信息,所述结构树信息为对所述待编辑的可扩展标记语言文件进行解析得到,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性;基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息;基于所述第一路径信息从所述结构树信息中确定第一目标节点;对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。该技术方案通过命令的方式实现了可扩展标记语言文件编辑的自动化,使得可扩展标记语言文件在命令行界面(一种用户通过键盘输入指令,计算机接收到指令后,予以执行的用户界面)下能够自动化编辑,提高了可扩展标记语言文件在命令行界面下可扩展标记语言文件编辑的精度和效率,降低了可扩展标记语言文件编辑的成本。
附图说明
51.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
52.图1为本技术实施例提供的一种文件编辑方法的流程示意图;
53.图2为本技术实施例提供的另一种文件编辑方法的流程示意图;
54.图3为本技术实施例提供的一种命令模式文件编辑方法的流程示意图;
55.图4为本技术实施例提供的一种控制台模式文件编辑方法的流程示意图;
56.图5为本技术实施例提供的一种文件编辑装置的结构框图;
57.图6为本技术实施例提供的另一种文件编辑装置的结构框图;
58.图7为本技术实施例提供的运行一种文件编辑方法的电子设备的硬件结构框图。
具体实施方式
59.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.此处所称的“一个实施例”或“实施例”是指可包含于本技术至少一个实现方式中的特定特征、结构或特性。在本技术实施例的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定
有“第一”、“第二”的特征可以明示或者隐含的包括一个或者更多个该特征。而且,术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
61.请参阅图1,其所示为本技术实施例提供的一种文件编辑方法的流程示意图,该文件编辑方法包括:
62.步骤s101:响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息;所述第一编辑命令中携带第一命令参数信息,所述结构树信息为对所述待编辑的可扩展标记语言文件进行解析得到,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性;
63.步骤s102:基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息;
64.步骤s103:基于所述第一路径信息从所述结构树信息中确定第一目标节点;
65.步骤s104:对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
66.在一个具体的实施例中,通过步骤s101响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息,其中,所述第一编辑命令表征对所述待编辑的可扩展标记语言文件进行编辑,在所述第一编辑命令中携带所述第一命令参数信息的情况下,响应于所述第一编辑命令,基于所述第一命令参数信息,确定所述待编辑的可扩展标记语言文件的文件名,读取所述待编辑的可扩展标记语言文件,解析得到所述待编辑的可扩展标记语言文件对应的结构树信息,所述第一命令参数信息包括所述第一编辑命令中携带的参数和与所述参数对应的参数信息,例如有一个参数,该参数的参数信息包括位置信息和属性信息,所述位置信息表征该参数位于第几个参数,所述属性信息表征该参数的属性,如该参数可作为可扩展标记语言文件的文件名,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性,若所述节点表征所述元素,则该节点可编辑的类型包括但不限于元素名称、元素文本内容、删除节点、添加子节点等,若所述节点表征所述属性,则该节点可编辑的类型包括但不限于属性名称、属性值、删除节点、添加属性等;通过步骤s102基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息,所述第一路径信息用于定位需要进行编辑的节点;通过步骤s103基于所述第一路径信息从所述结构树信息中确定第一目标节点,所述第一目标节点即为所述结构树信息中需要进行编辑的节点;通过步骤s104对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果,即得到响应于所述第一编辑命令进行编辑后的可扩展标记语言文件,其中,对所述第一目标节点进行的编辑类型包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等。从而实现了通过命令的方式达到可扩展标记语言文件自动化编辑的效果。该模式为命令模式,适用于对所述待编辑的可扩展标记语言文件较少编辑的情况。
67.本实施例所述的一种文件编辑方法,通过命令的方式实现了可扩展标记语言文件编辑的自动化,使得可扩展标记语言文件在命令行界面下能够自动化编辑,提高了可扩展标记语言文件在命令行界面下编辑的精度和效率,降低了可扩展语言文件编辑的成本。
68.在一个可选的实施例中,上述第一命令参数信息配置有第一参数位置信息,上述步骤s102中,上述基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息,可以包括:
69.步骤s1021:在所述第一命令参数信息的数量满足第一数量阈值的情况下,从所述第一命令参数信息中确定出第一目标命令参数信息;所述第一目标命令参数信息为所述第一参数位置信息满足第一预设条件的所述第一命令参数信息;
70.步骤s1022:基于所述第一目标命令参数信息确定所述第一路径信息。
71.具体的,所述第一参数位置信息表征所述第一编辑命令中携带的第一命令参数信息的位置信息,比如第几个第一命令参数信息,通过步骤s1021在所述第一命令参数信息的数量满足第一数量阈值的情况下,从所述第一命令参数信息中确定出满足第一预设条件的第一目标命令参数信息,例如,所述第一数量阈值为两个,所述第一预设条件为第二个,即在所述第一命令参数信息的数量大于或等于两个的情况下,从所述第一命令参数信息中确定出第二个第一命令参数信息;通过步骤s1022基于所述第一目标命令参数信息确定所述第一路径信息,例如,将所述第二个第一命令参数信息作为所述待编辑的可扩展标记语言文件的第一路径查询语言,基于所述第一路径查询语言确定第一路径信息。在所述第一命令参数信息的数量满足第一数量阈值的情况下,通过满足第一预设条件的第一目标命令参数信息确定所述第一路径信息,以便于定位需要进行编辑的节点。
72.在一个可选的实施例中,上述步骤s104中,上述对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果,可以包括:
73.步骤s1041:对所述第一目标节点进行编辑,得到第一目标结构树信息;
74.步骤s1042:基于所述第一目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
75.具体的,通过步骤s1041对所述第一目标节点进行编辑,得到第一目标结构树信息,其中,对所述第一目标节点进行的编辑类型包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等;通过步骤s1042基于所述第一目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果,即得到响应于所述第一编辑命令进行编辑后的可扩展标记语言文件。
76.在一个可选的实施例中,上述步骤s1041中,上述对所述第一目标节点进行编辑,得到第一目标结构树信息,可以包括:
77.在所述第一命令参数信息的数量满足第二数量阈值的情况下,确定所述第一命令参数信息对应的编辑类型信息;所述第二数量阈值大于所述第一数量阈值;
78.根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息。
79.具体的,在所述第一命令参数信息的数量满足第二数量阈值的情况下,确定所述第一命令参数信息对应的编辑类型信息,其中,所述编辑类型信息,包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等,再根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息。例如,所述第二数量阈值为三个,即在所述第一命令参数信息的数量大于或等于三个的情况下,确定所述第一命令参数信息对应的编辑类型信息。
80.在一个可选的实施例中,上述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,可以包括:
81.在所述编辑类型信息表征对节点名称进行修改的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;
82.基于所述第二目标命令参数信息对所述第一目标节点的节点名称进行修改,得到所述第一目标结构树信息。
83.示例性地,所述第二预设条件为第四个,即在所述编辑类型信息表征对节点名称进行修改的情况下,从所述第一命令参数信息中确定出第四个第一命令参数信息,将所述第四个第一命令参数信息作为所述第一目标节点的目标节点名称,对所述第一目标节点的节点名称进行修改,得到所述第一目标结构树信息。
84.在所述第一目标节点是所述元素的情况下,修改该元素的名称,例如,设元素是:《title》标题1《/title》,修改名称为section_title,则修改后元素是:《section_title》标题1《/section_title》;在所述第一目标节点是所述属性的的情况下,修改该属性的名称,例如,设元素title有一个属性name:《title name=”标题1”/》,修改属性名称为value,则修改后元素及其属性是:《title value=”标题1”/》。
85.在一个可选的实施例中,上述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,可以包括:
86.在所述编辑类型信息表征对节点值进行修改的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;在所述第一目标节点表征所述元素的情况下,所述节点值表征所述元素的文本内容,在所述第一目标节点表征所述属性的情况下,所述节点值表征所述属性的属性值;
87.基于所述第二目标命令参数信息对所述第一目标节点的节点值进行修改,得到所述第一目标结构树信息。
88.示例性地,所述第二预设条件为第四个,即在所述编辑类型信息表征对节点值进行修改的情况下,从所述第一命令参数信息中确定出第四个第一命令参数信息,将所述第四个第一命令参数信息作为所述第一目标节点的目标节点值,对所述第一目标节点的节点值进行修改,得到所述第一目标结构树信息。
89.在所述第一目标节点是所述元素的情况下,修改该元素的文本内容(text content),例如,设元素是:《title》标题1《/title》,修改值为“标题2”,则修改后元素是:《title》标题2《/title》;在所述第一目标节点是属性的情况下,修改该属性的值,例如,设元素title有一个属性name:《title name=”标题1”/》,修改属性值为“标题2”,则修改后元素及其属性是:《title name=”标题2”/》。
90.在一个可选的实施例中,上述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,可以包括:
91.在所述编辑类型信息表征对当前节点进行删除的情况下,删除所述第一目标节点,得到所述第一目标结构树信息。
92.具体的,在所述编辑类型信息表征对当前节点进行删除的情况下,删除所述第一
路径信息定位的所述第一目标节点,得到所述第一目标结构树信息。所述第一目标节点可以是所述元素,也可以是所述属性。
93.在一个可选的实施例中,上述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,可以包括:
94.在所述第一目标节点表征所述元素、且所述编辑类型信息表征为所述第一目标节点添加子元素的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;
95.基于所述第二目标命令参数信息,为所述第一目标节点添加子元素,得到所述第一目标结构树信息。
96.具体的,例如,所述第二预设条件为第四个,即在所述编辑类型信息表征为所述第一目标节点添加子元素的情况下,从所述第一命令参数信息中确定出第四个第一命令参数信息,将所述第四个第一命令参数信息作为所述第一目标节点的子元素名称,为所述第一目标节点添加子元素,得到所述第一目标结构树信息。
97.在所述第一目标节点表征所述元素、且所述编辑类型信息表征为所述第一目标节点添加子元素的情况下,为所述第一路径信息定位的所述第一目标节点添加一个子节点,该子节点的类型是元素节点,例如,
98.假设第一目标节点是一个元素节点title,
99.《title》
100.《t1》标题1《/t1》
101.《/title》
102.添加一个子元素节点t2,添加后如下:
103.《title》
104.《t1》标题1《/t1》
105.《t2/》
106.《/title》
107.在一个可选的实施例中,上述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,可以包括:
108.在所述第一目标节点表征所述属性、且所述编辑类型信息表征为所述第一目标节点添加属性的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息和第三目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息,所述第三目标命令参数信息为所述第一参数位置信息满足第三预设条件的所述第一命令参数信息;
109.基于所述第二目标命令参数信息和所述第三目标命令参数信息,为所述第一目标节点添加属性,得到所述第一目标结构树信息。
110.示例性地,所述第二预设条件为第四个,所述第三预设条件为第五个,即在所述编辑类型信息表征为所述第一目标节点添加属性的情况下,从所述第一命令参数信息中确定出第四个第一命令参数信息和第五个第一命令参数信息,将所述第四个第一命令参数信息作为所述第一目标节点的属性名称,将所述第五个第一命令参数信息作为所述第一目标节
点的属性值,为所述第一目标节点添加属性,得到所述第一目标结构树信息。
111.在所述第一目标节点表征所述属性、且所述编辑类型信息表征为所述第一目标节点添加属性的情况下,为所述第一路径信息定位的所述第一目标节点添加一个子节点,该子节点的类型是属性节点,例如,
112.假设第一目标节点是一个元素节点title,
113.《title》标题1《/title》
114.添加一个属性节点name=”名称”,添加后如下:
115.《title name=”名称”》标题1《/title》
116.在一个可选的实施例中,上述根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息,可以包括:
117.在所述编辑类型信息表征不可识别的情况下,报错并退出对所述待编辑的可扩展标记语言文件的编辑操作。
118.在一个可选的实施例中,上述步骤s1041中,上述对所述第一目标节点进行编辑,得到第一目标结构树信息,还可以包括:
119.在所述第一命令参数信息的数量不满足第二数量阈值的情况下,显示所述第一目标节点的节点信息并退出对所述待编辑的可扩展标记语言文件的编辑操作。
120.具体的,将所述第一路径信息定位的所述第一目标节点作为当前节点,打印显示当前节点信息,若所述当前节点是元素,则显示元素相关信息,若所述当前节点是属性,则显示属性信息。
121.请参阅图2,其所示为本技术实施例提供的另一种文件编辑方法的流程示意图,在所述第一命令参数信息的数量不满足所述第一数量阈值的情况下,该文件编辑方法还包括:
122.步骤s201:在检测到所述待编辑的可扩展标记语言文件对应的第二编辑命令的情况下,将所述第二编辑命令作为当前编辑命令;
123.步骤s202:基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息;
124.步骤s203:基于所述当前路径信息从所述结构树信息中确定当前目标节点;
125.步骤s204:确定所述当前编辑命令对应的当前编辑类型信息;
126.步骤s205:根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息;
127.步骤s206:判断所述当前编辑类型信息是否表征退出对所述当前目标节点进行编辑;若否,重复步骤s201~步骤s205,若是,则执行步骤s207;
128.步骤s207:得到第二目标结构树信息;
129.步骤s208:基于所述第二目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第二编辑结果。
130.在一个具体的实施例中,在所述第一命令参数信息的数量不满足所述第一数量阈值的情况下,循环检测所述待编辑的可扩展标记语言文件对应的第二编辑命令,例如,所述第一数量阈值为两个,即在所述第一命令参数信息的数量小于两个的情况下,循环检测所述待编辑的可扩展标记语言文件对应的第二编辑命令,通过步骤s201,在检测到所述待编
辑的可扩展标记语言文件对应的第二编辑命令的情况下,将所述第二编辑命令作为当前编辑命令,其中,所述第二编辑命令表征对所述待编辑的可扩展标记语言文件进行编辑;通过步骤s202基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息,其中,所述当前命令参数信息即为当前的第二命令参数信息,所述当前的第二命令参数信息包括所述当前的第二编辑命令中携带的参数和与所述参数对应的参数信息,例如有一个参数,该参数的参数信息包括位置信息和属性信息,所述位置信息表征该参数位于第几个参数,所述属性信息表征该参数的属性,如该参数可作为可扩展标记语言文件的文件名,所述当前路径信息即为当前的第二路径信息,用于定位当前需要进行编辑的节点;通过步骤s203基于所述当前路径信息从所述结构树信息中确定当前目标节点,其中,所述当前目标节点即为当前的第二目标节点,用于从所述结构树信息中确定当前需要进行编辑的节点;通过步骤s204确定所述当前编辑命令对应的当前编辑类型信息,所述当前编辑类型信息包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等;通过步骤s205根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,即得到响应于所述当前编辑命令进行编辑后的结构树信息;通过步骤s206,判断所述当前编辑类型信息是否表征退出对所述当前目标节点进行编辑;若否,重复步骤s201~步骤s205,若是,则通过步骤s207得到第二目标结构树信息;通过步骤s208基于所述第二目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第二编辑结果。从而实现了通过命令的方式达到可扩展标记语言文件自动化编辑的效果。该模式为控制台模式,适用于对所述待编辑的可扩展标记语言文件较多编辑的情况。
131.在一个可选的实施例中,上述当前命令参数信息配置有当前参数位置信息,上述步骤s202中,上述基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息,可以包括:
132.步骤s2021:在所述当前命令参数信息的数量满足第三数量阈值的情况下,从所述当前命令参数信息中确定出第四目标命令参数信息;所述第四目标命令参数信息为所述当前参数位置信息满足第四预设条件的所述当前命令参数信息;
133.步骤s2022:基于所述第四目标命令参数信息确定所述当前路径信息。
134.具体的,通过步骤s2021在所述当前命令参数信息的数量满足第三数量阈值的情况下,从所述当前命令参数信息中确定出第四目标命令参数信息,例如,所述第三数量阈值为1个,所述第四预设条件为第1个的情况下,即在所述当前命令参数信息的数量大于或等于1个的情况下,从所述当前命令参数信息中确定出第1个当前命令参数信息;通过步骤s1022基于所述第四目标命令参数信息确定所述当前路径信息,例如,将所述第1个第二命令参数信息作为所述待编辑的可扩展标记语言文件的当前路径信息。在所述当前命令参数信息的数量满足第三数量阈值的情况下,通过满足第四预设条件的第四目标命令参数信息确定所述当前路径信息,以便于定位当前需要进行编辑的节点。
135.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
136.在所述当前编辑类型信息表征对节点名称进行修改的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置
信息满足第五预设条件的所述当前命令参数信息;
137.基于所述第五目标命令参数信息对所述当前目标节点的节点名称进行修改,得到当前结构树信息。
138.具体的,例如,所述第五预设条件为第2个,即在所述编辑类型信息表征对节点名称进行修改的情况下,从所述当前命令参数信息中确定出第2个当前命令参数信息,将所述第2个当前命令参数信息作为所述当前目标节点的目标节点名称,对所述当前目标节点的节点名称进行修改,得到所述当前结构树信息。
139.在所述当前目标节点是所述元素的情况下,修改该元素的名称,例如,设元素是:《title》标题1《/title》,修改名称为section_title,则修改后元素是:《section_title》标题1《/section_title》;在所述当前目标节点是所述属性的的情况下,修改该属性的名称,例如,设元素title有一个属性name:《title name=”标题1”/》,修改属性名称为value,则修改后元素及其属性是:《title value=”标题1”/》。
140.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
141.在所述当前编辑类型信息表征对节点值进行修改的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息;在所述当前目标节点表征所述元素的情况下,所述节点值表征所述元素的文本内容,在所述当前目标节点表征所述属性的情况下,所述节点值表征所述属性的属性值;
142.基于所述第五目标命令参数信息对所述当前目标节点的节点值进行修改,得到所述当前结构树信息。
143.具体的,例如,所述第五预设条件为第2个,即在所述当前编辑类型信息表征对节点值进行修改的情况下,从所述当前命令参数信息中确定出第2个当前命令参数信息,将所述第2个当前命令参数信息作为所述当前目标节点的目标节点值,对所述当前目标节点的节点值进行修改,得到所述当前结构树信息。
144.在所述当前目标节点是所述元素的情况下,修改该元素的文本内容(text content),例如,设元素是:《title》标题1《/title》,修改值为“标题2”,则修改后元素是:《title》标题2《/title》;在所述当前目标节点是属性的情况下,修改该属性的值,例如,设元素title有一个属性name:《title name=”标题1”/》,修改属性值为“标题2”,则修改后元素及其属性是:《title name=”标题2”/》。
145.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
146.在所述当前编辑类型信息表征对当前节点进行删除的情况下,删除所述当前目标节点,得到所述当前结构树信息。
147.具体的,在所述当前编辑类型信息表征对当前节点进行删除的情况下,删除所述当前路径信息定位的所述当前目标节点,得到所述当前结构树信息。所述当前目标节点可以是所述元素,也可以是所述属性。
148.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
149.在所述当前目标节点表征所述元素、且所述当前编辑类型信息表征为所述当前目标节点添加子元素的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息;
150.基于所述第五目标命令参数信息,为所述当前目标节点添加子元素,得到所述当前结构树信息。
151.具体的,例如,所述第五预设条件为第2个,即在所述当前编辑类型信息表征为所述当前目标节点添加子元素的情况下,从所述当前命令参数信息中确定出第2个当前命令参数信息,将所述第2个当前命令参数信息作为所述当前目标节点的子元素名称,为所述第五目标节点添加子元素,得到所述当前结构树信息。
152.在所述当前目标节点表征所述元素、且所述当前编辑类型信息表征为所述当前目标节点添加子元素的情况下,为所述当前路径信息定位的所述当前目标节点添加一个子节点,该子节点的类型是元素节点,例如,
153.假设当前目标节点是一个元素节点title,
154.《title》
155.《t1》标题1《/t1》
156.《/title》
157.添加一个子元素节点t2,添加后如下:
158.《title》
159.《t1》标题1《/t1》
160.《t2/》
161.《/title》
162.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
163.在所述当前目标节点表征所述属性、且所述当前编辑类型信息表征为所述当前目标节点添加属性的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息和第六目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息,所述第六目标命令参数信息为所述当前参数位置信息满足第六预设条件的所述当前命令参数信息;
164.基于所述第五目标命令参数信息和所述第六目标命令参数信息,为所述当前目标节点添加属性,得到所述当前结构树信息。
165.具体的,例如,所述第五预设条件为第2个,所述第六预设条件为第3个,即在所述当前编辑类型信息表征为所述当前目标节点添加属性的情况下,从所述当前命令参数信息中确定出第2个当前命令参数信息和第3个当前命令参数信息,将所述第2个当前命令参数信息作为所述当前目标节点的属性名称,将所述第3个当前命令参数信息作为所述当前目标节点的属性值,为所述当前目标节点添加属性,得到所述当前结构树信息。
166.在所述当前目标节点表征所述属性、且所述当前编辑类型信息表征为所述当前目标节点添加属性的情况下,为所述当前路径信息定位的所述当前目标节点添加一个子节点,该子节点的类型是属性节点,例如,
167.假设当前目标节点是一个元素节点title,
168.《title》标题1《/title》
169.添加一个属性节点name=”名称”,添加后如下:
170.《title name=”名称”》标题1《/title》
171.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
172.在所述当前编辑类型表征对当前节点进行保存的情况下,保存所述当前目标节点,得到所述当前结构树信息。
173.具体的,在所述当前编辑类型信息表征对当前节点进行保存的情况下,保存所述当前路径信息定位的所述当前目标节点,得到所述当前结构树信息。所述当前目标节点可以是所述元素,也可以是所述属性。
174.在一个可选的实施例中,上述步骤s205中,上述根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,可以包括:
175.在所述当前编辑类型信息表征不可识别的情况下,报错并再次检测所述第二编辑命令。
176.在一个可选的实施例中,上述步骤s202中,上述基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息,可以包括:
177.在所述当前命令参数信息的数量不满足第三数量阈值的情况下,再次检测所述第二编辑命令。
178.在一个可选的实施例中,所述方法还包括:
179.在所述第一编辑命令中不携带所述第一命令参数信息的情况下,获取帮助信息并退出对所述待编辑的可扩展标记语言文件的编辑操作。
180.请参阅图3,其所示为本技术实施例提供的一种命令模式文件编辑方法的流程示意图,该方法的实施流程如下:
181.①
响应于待编辑的可扩展标记语言文件的第一编辑命令,判断所述第一编辑命令是否携带第一命令参数信息;若否,则获取帮助信息并退出对所述待编辑的可扩展标记语言文件的编辑操作,若是,则取第一个第一命令参数信息作为待编辑的可扩展标记语言文件名,读取并解析所述待编辑的可扩展标记语言文件,得到所述待编辑的可扩展标记语言文件对应的结构树信息;
182.②
判断所述第一编辑命令是否携带有两个所述第一命令参数信息;若否,则进入控制台模式,若是,则取第二个第一命令参数信息作为所述待编辑的可扩展标记语言对应的第一路径信息,并基于所述第一路径信息定位到第一目标节点;
183.③
判断所述第一编辑命令是否携带有三个所述第一命令参数信息;若否,则显示所述第一目标节点的节点信息并退出对所述待编辑的可扩展标记语言文件的编辑操作,若是,则确定第三个所述第一命令参数信息对应的编辑命令类型信息;
184.1)在所述编辑类型信息表征对节点名称进行修改的情况下,取第四个第一命令参数信息作为所述第一目标节点的目标节点名称,对所述第一目标节点的节点名称进行修改,得到所述第一目标结构树信息;
185.2)在所述编辑类型信息表征对节点值进行修改的情况下,取第四个第一命令参数
信息作为所述第一目标节点的目标节点值,对所述第一目标节点的节点值进行修改,得到所述第一目标结构树信息;
186.3)在所述编辑类型信息表征对当前节点进行删除的情况下,删除所述第一路径信息定位的所述第一目标节点,得到所述第一目标结构树信息;
187.4)在所述编辑类型信息表征为所述第一目标节点添加子元素的情况下,取第四个第一命令参数信息作为所述第一目标节点的子元素名称,为所述第一目标节点添加子元素,得到所述第一目标结构树信息;
188.5)在所述编辑类型信息表征为所述第一目标节点添加属性的情况下,取第四个第一命令参数信息作为所述第一目标节点的属性名称,取所述第五个第一命令参数信息作为所述第一目标节点的属性值,为所述第一目标节点添加属性,得到所述第一目标结构树信息;
189.6)在所述编辑类型信息表征不可识别的情况下,报错并退出对所述待编辑的可扩展标记语言文件的编辑操作;
190.⑤
基于所述第一目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
191.请参阅图4,其所示为本技术实施例提供的一种控制台模式文件编辑方法的流程示意图,该方法的实施流程如下:
192.①
在第一命令参数信息的数量小于2个的情况下,循环检测所述待编辑的可扩展标记语言文件对应的第二编辑命令;
193.②
判断是否检测到所述待编辑的可扩展标记语言文件对应的第二编辑命令;若否,则再次检测所述待编辑的可扩展标记语言文件对应的第二编辑命令,若是,则将所述第二编辑命令作为当前编辑命令,所述当前编辑命令携带当前命令参数信息,取第一个当前命令参数信息作为当前路径信息,并基于所述当前路径信息定位到当前目标节点;
194.③
确定所述当前编辑命令对应的当前编辑类型信息;
195.1)在所述编辑类型信息表征对节点名称进行修改的情况下,取所述第2个当前命令参数信息作为所述当前目标节点的目标节点名称,对所述当前目标节点的节点名称进行修改,得到所述当前结构树信息;
196.2)在所述当前编辑类型信息表征对节点值进行修改的情况下,取所述第2个当前命令参数信息作为所述当前目标节点的目标节点值,对所述当前目标节点的节点值进行修改,得到所述当前结构树信息;
197.3)在所述当前编辑类型信息表征对当前节点进行删除的情况下,删除所述当前路径信息定位的所述当前目标节点,得到所述当前结构树信息;
198.4)在所述当前编辑类型信息表征为所述当前目标节点添加子元素的情况下,取所述第2个当前命令参数信息作为所述当前目标节点的子元素名称,为所述第五目标节点添加子元素,得到所述当前结构树信息;
199.5)在所述当前编辑类型信息表征为所述当前目标节点添加属性的情况下,取所述第2个当前命令参数信息作为所述当前目标节点的属性名称,取所述第3个当前命令参数信息作为所述当前目标节点的属性值,为所述当前目标节点添加属性,得到所述当前结构树信息;
200.6)在所述当前编辑类型信息表征对当前节点进行保存的情况下,保存所述当前路径信息定位的所述当前目标节点,得到所述当前结构树信息;
201.7)在所述当前编辑类型信息表征不可识别的情况下,报错并再次检测所述第二编辑命令。
202.④
重复步骤



,直至所述当前编辑类型信息表征退出对所述当前目标节点进行编辑,得到第二目标结构树信息;
203.⑤
基于所述第二目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第二编辑结果。
204.由本技术实施例的上述技术方案可见,在本技术实施例中,通过命令的方式实现了可扩展标记语言文件编辑的自动化,使得可扩展标记语言文件在命令行界面下能够自动化编辑,提高了可扩展标记语言文件在命令行界面下可扩展标记语言文件编辑的精度和效率,降低了可扩展语言文件编辑的成本。
205.与上述实施例提供的文件编辑方法相对应,本技术实施例还提供一种文件编辑装置,由于本技术实施例提供的文件编辑装置与上述实施例提供的文件编辑方法相对应,因此前述文件编辑方法的实施方式也适用于本实施例提供的文件编辑装置,在本实施例中不再详细描述。
206.请参阅图5,其所示为本技术实施例提供的一种文件编辑装置的结构框图;所述装置包括:
207.信息获取模块,用于响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息;所述第一编辑命令中携带第一命令参数信息,所述结构树信息为对所述待编辑的可扩展标记语言文件进行解析得到,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性;
208.第一路径信息确定模块,用于基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息;
209.第一目标节点确定模块,用于基于所述第一路径信息从所述结构树信息中确定第一目标节点;
210.第一目标节点编辑模块,用于对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
211.在一个具体的实施例中,通过信息获取模块响应于待编辑的可扩展标记语言文件的第一编辑命令,获取所述待编辑的可扩展标记语言文件对应的结构树信息,其中,所述第一编辑命令表征对所述待编辑的可扩展标记语言文件进行编辑,在所述第一编辑命令中携带所述第一命令参数信息的情况下,响应于所述第一编辑命令,基于所述第一命令参数信息,确定所述待编辑的可扩展标记语言文件的文件名,读取所述待编辑的可扩展标记语言文件,解析得到所述待编辑的可扩展标记语言文件对应的结构树信息,所述第一命令参数信息包括所述第一编辑命令中携带的参数和与所述参数对应的参数信息,所述结构树信息中的节点表征所述待编辑的可扩展标记语言文件中的元素或属性;通过第一路径信息确定模块基于所述第一命令参数信息确定所述待编辑的可扩展标记语言文件的第一路径信息,所述第一路径信息用于定位需要进行编辑的节点;通过第一目标节点确定模块基于所述第一路径信息从所述结构树信息中确定第一目标节点,所述第一目标节点即为所述结构树信
息中需要进行编辑的节点;通过第一目标节点编辑模块对所述第一目标节点进行编辑,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果,即得到响应于所述第一编辑命令进行编辑后的可扩展标记语言文件,其中,对所述第一目标节点进行的编辑类型包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等。从而实现了通过命令的方式达到可扩展标记语言文件自动化编辑的效果。该模式为命令模式,适用于对所述待编辑的可扩展标记语言文件较少编辑的情况。
212.本实施例所述的一种文件编辑装置,通过命令的方式实现了可扩展标记语言文件编辑的自动化,使得可扩展标记语言文件在命令行界面下能够自动化编辑,提高了可扩展标记语言文件在命令行界面下可扩展标记语言文件编辑的精度和效率,降低了可扩展语言文件编辑的成本。
213.在一个可选的实施例中,上述第一目标节点确定模块可以包括:
214.第一目标命令参数信息确定模块,用于在所述第一命令参数信息的数量满足第一数量阈值的情况下,从所述第一命令参数信息中确定出第一目标命令参数信息;所述第一目标命令参数信息为所述第一参数位置信息满足第一预设条件的所述第一命令参数信息;
215.第一路径信息确定模块,用于基于所述第一目标命令参数信息确定所述第一路径信息。
216.具体的,通过第一目标命令参数信息确定模块在所述第一命令参数信息的数量满足第一数量阈值的情况下,从所述第一命令参数信息中确定出满足第一预设条件的第一目标命令参数信息,例如,所述第一数量阈值为两个,所述第一预设条件为第二个,即在所述第一命令参数信息的数量大于或等于两个的情况下,从所述第一命令参数信息中确定出第二个第一命令参数信息;通过第一路径信息确定模块基于所述第一目标命令参数信息确定所述第一路径信息,例如,将所述第二个第一命令参数信息作为所述待编辑的可扩展标记语言文件的第一路径信息。在所述第一命令参数信息的数量满足第一数量阈值的情况下,通过满足第一预设条件的第一目标命令参数信息确定所述第一路径信息,以便于定位需要进行编辑的节点。
217.在一个可选的实施例中,上述第一目标节点编辑模块可以包括:
218.第一目标结构树信息获取模块,用于对所述第一目标节点进行编辑,得到第一目标结构树信息;
219.第一编辑结果获取模块,用于基于所述第一目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果。
220.具体的,通过第一目标结构树信息获取模块对所述第一目标节点进行编辑,得到第一目标结构树信息,其中,对所述第一目标节点进行的编辑类型包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等;通过第一编辑结果获取模块基于所述第一目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第一编辑结果,即得到响应于所述第一编辑命令进行编辑后的可扩展标记语言文件。
221.在一个可选的实施例中,上述第一目标结构树信息获取模块可以包括:
222.编辑类型信息确定模块,用于在所述第一命令参数信息的数量满足第二数量阈值的情况下,确定所述第一命令参数信息对应的编辑类型信息;所述第二数量阈值大于所述第一数量阈值;
223.第一目标结构树信息确定模块,用于根据所述编辑类型信息和所述第一命令参数信息,对所述第一目标节点进行编辑,得到所述第一目标结构树信息。
224.在一个可选的实施例中,上述第一目标结构树信息确定模块可以包括:
225.第一目标节点名称修改模块,用于在所述编辑类型信息表征对节点名称进行修改的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;
226.第二目标节点名称修改模块,用于基于所述第二目标命令参数信息对所述第一目标节点的节点名称进行修改,得到所述第一目标结构树信息。
227.在一个可选的实施例中,上述第一目标结构树信息确定模块可以包括:
228.第一目标节点值修改模块,用于在所述编辑类型信息表征对节点值进行修改的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;在所述第一目标节点表征所述元素的情况下,所述节点值表征所述元素的文本内容,在所述第一目标节点表征所述属性的情况下,所述节点值表征所述属性的属性值;
229.第二目标节点值修改模块,用于基于所述第二目标命令参数信息对所述第一目标节点的节点值进行修改,得到所述第一目标结构树信息。
230.在一个可选的实施例中,上述第一目标结构树信息确定模块可以包括:
231.目标节点删除模块,用于在所述编辑类型信息表征对当前节点进行删除的情况下,删除所述第一目标节点,得到所述第一目标结构树信息。
232.在一个可选的实施例中,上述第一目标结构树信息确定模块可以包括:
233.第一目标子元素添加模块,用于在所述第一目标节点表征所述元素、且所述编辑类型信息表征为所述第一目标节点添加子元素的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息;
234.第二目标子元素添加模块,用于基于所述第二目标命令参数信息,为所述第一目标节点添加子元素,得到所述第一目标结构树信息。
235.在一个可选的实施例中,上述第一目标结构树信息确定模块可以包括:
236.第一目标属性添加模块,用于在所述第一目标节点表征所述属性、且所述编辑类型信息表征为所述第一目标节点添加属性的情况下,从所述第一命令参数信息中确定出第二目标命令参数信息和第三目标命令参数信息;所述第二目标命令参数信息为所述第一参数位置信息满足第二预设条件的所述第一命令参数信息,所述第三目标命令参数信息为所述第一参数位置信息满足第三预设条件的所述第一命令参数信息;
237.第二目标属性添加模块,用于基于所述第二目标命令参数信息和所述第三目标命令参数信息,为所述第一目标节点添加属性,得到所述第一目标结构树信息。
238.在一个可选的实施例中,上述第一目标结构树信息确定模块可以包括:
239.第一不可识别模块,用于在所述编辑类型信息表征不可识别的情况下,报错并退出对所述待编辑的可扩展标记语言文件的编辑操作。
240.在一个可选的实施例中,上述第一目标结构树信息获取模块还可以包括:
241.查看节点信息模块,用于在所述第一命令参数信息的数量不满足第二数量阈值的
情况下,显示所述第一目标节点的节点信息并退出对所述待编辑的可扩展标记语言文件的编辑操作。
242.请参阅图6,其所示为本技术实施例提供的另一种文件编辑装置的结构框图;所述装置包括:
243.第二编辑命令获取模块,用于在检测到所述待编辑的可扩展标记语言文件对应的第二编辑命令的情况下,将所述第二编辑命令作为当前编辑命令;
244.当前路径信息确定模块,用于基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息;
245.当前目标节点确定模块,用于基于所述当前路径信息从所述结构树信息中确定当前目标节点;
246.当前编辑类型确定模块,用于确定所述当前编辑命令对应的当前编辑类型信息;
247.当前目标节点编辑模块,用于根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息;
248.当前编辑类型判断模块,用于判断所述当前编辑类型信息是否表征退出对所述当前目标节点进行编辑;若否,重复第二编辑命令获取模块~当前目标节点编辑模块,若是,则执行第二目标结构树信息获取模块;
249.第二目标结构树信息获取模块,用于得到第二目标结构树信息;
250.第二编辑结果获取模块,用于基于所述第二目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第二编辑结果。
251.在一个具体的实施例中,在所述第一命令参数信息的数量不满足所述第一数量阈值的情况下,循环检测所述待编辑的可扩展标记语言文件对应的第二编辑命令,通过第二编辑命令获取模块,在检测到所述待编辑的可扩展标记语言文件对应的第二编辑命令的情况下,将所述第二编辑命令作为当前编辑命令,其中,所述第二编辑命令表征对所述待编辑的可扩展标记语言文件进行编辑;通过当前路径信息确定模块基于所述当前编辑命令中携带的当前命令参数信息,确定所述待编辑的可扩展标记语言文件的当前路径信息,其中,所述当前命令参数信息即为当前的第二命令参数信息,所述当前的第二命令参数信息包括所述当前的第二编辑命令中携带的参数和与所述参数对应的参数信息,所述当前路径信息即为当前的第二路径信息,用于定位当前需要进行编辑的节点;通过当前目标节点确定模块基于所述当前路径信息从所述结构树信息中确定当前目标节点,其中,所述当前目标节点即为当前的第二目标节点,用于从所述结构树信息中确定当前需要进行编辑的节点;通过当前编辑类型确定模块确定所述当前编辑命令对应的当前编辑类型信息,所述当前编辑类型信息包括但不限于修改节点名称、修改节点值、删除节点、添加子元素、添加属性等;通过当前目标节点编辑模块根据所述当前编辑类型信息和所述当前命令参数信息,对所述当前目标节点进行编辑,得到当前结构树信息,即得到响应于所述当前编辑命令进行编辑后的结构树信息;通过当前编辑类型判断模块,判断所述当前编辑类型信息是否表征退出对所述当前目标节点进行编辑;若否,重复第二编辑命令获取模块~当前目标节点编辑模块,若是,则通过第二目标结构树信息获取模块得到第二目标结构树信息;通过第二编辑结果获取模块基于所述第二目标结构树信息,得到所述待编辑的可扩展标记语言文件对应的第二编辑结果。从而实现了通过命令的方式达到可扩展标记语言文件自动化编辑的效果。该模
式为控制台模式,适用于对所述待编辑的可扩展标记语言文件较多编辑的情况。
252.在一个可选的实施例中,上述当前路径信息确定模块可以包括:
253.第四目标命令参数信息确定模块,用于在所述当前命令参数信息的数量满足第三数量阈值的情况下,从所述当前命令参数信息中确定出第四目标命令参数信息;所述第四目标命令参数信息为所述当前参数位置信息满足第四预设条件的所述当前命令参数信息;
254.当前路径信息获取模块,用于基于所述第四目标命令参数信息确定所述当前路径信息。
255.具体的,通过第四目标命令参数信息确定模块在所述当前命令参数信息的数量满足第三数量阈值的情况下,从所述当前命令参数信息中确定出第四目标命令参数信息,例如,所述第三数量阈值为1个,所述第四预设条件为第1个的情况下,即在所述当前命令参数信息的数量大于或等于1个的情况下,从所述当前命令参数信息中确定出第1个当前命令参数信息;通过当前路径信息获取模块基于所述第四目标命令参数信息确定所述当前路径信息,例如,将所述第1个第二命令参数信息作为所述待编辑的可扩展标记语言文件的当前路径信息。在所述当前命令参数信息的数量满足第三数量阈值的情况下,通过满足第四预设条件的第四目标命令参数信息确定所述当前路径信息,以便于定位当前需要进行编辑的节点。
256.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
257.第一当前节点名称修改模块,用于在所述当前编辑类型信息表征对节点名称进行修改的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息;
258.第二当前节点名称修改模块,用于基于所述第五目标命令参数信息对所述当前目标节点的节点名称进行修改,得到当前结构树信息。
259.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
260.第一当前节点值修改模块,用于在所述当前编辑类型信息表征对节点值进行修改的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息;在所述当前目标节点表征所述元素的情况下,所述节点值表征所述元素的文本内容,在所述当前目标节点表征所述属性的情况下,所述节点值表征所述属性的属性值;
261.第二当前节点值修改模块,用于基于所述第五目标命令参数信息对所述当前目标节点的节点值进行修改,得到所述当前结构树信息。
262.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
263.当前节点删除模块,用于在所述当前编辑类型信息表征对当前节点进行删除的情况下,删除所述当前目标节点,得到所述当前结构树信息。
264.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
265.第一当前子元素添加模块,用于在所述当前目标节点表征所述元素、且所述当前编辑类型信息表征为所述当前目标节点添加子元素的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息;
266.第二当前子元素添加模块,用于基于所述第五目标命令参数信息,为所述当前目
标节点添加子元素,得到所述当前结构树信息。
267.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
268.第一当前属性添加模块,用于在所述当前目标节点表征所述属性、且所述当前编辑类型信息表征为所述当前目标节点添加属性的情况下,从所述当前命令参数信息中确定出第五目标命令参数信息和第六目标命令参数信息;所述第五目标命令参数信息为所述当前参数位置信息满足第五预设条件的所述当前命令参数信息,所述第六目标命令参数信息为所述当前参数位置信息满足第六预设条件的所述当前命令参数信息;
269.第二当前属性添加模块,用于基于所述第五目标命令参数信息和所述第六目标命令参数信息,为所述当前目标节点添加属性,得到所述当前结构树信息。
270.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
271.当前节点保存模块,用于在所述当前编辑类型表征对当前节点进行保存的情况下,保存所述当前目标节点,得到所述当前结构树信息。
272.在一个可选的实施例中,上述当前目标节点编辑模块可以包括:
273.第二不可识别模块,用于在所述当前编辑类型信息表征不可识别的情况下,报错并再次检测所述第二编辑命令。
274.在一个可选的实施例中,上述当前路径信息确定模块还可以包括:
275.等待编辑命令模块,用于在所述当前命令参数信息的数量不满足第三数量阈值的情况下,再次检测所述第二编辑命令。
276.在一个可选的实施例中,所述装置还包括:
277.获取帮助模块,用于在所述第一编辑命令中不携带所述第一命令参数信息的情况下,获取帮助信息并退出对所述待编辑的可扩展标记语言文件的编辑操作。
278.需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
279.本技术实施例的文件编辑装置,通过命令的方式实现了可扩展标记语言文件编辑的自动化,使得可扩展标记语言文件在命令行界面下能够自动化编辑,提高了可扩展标记语言文件在命令行界面下可扩展标记语言文件编辑的精度和效率,降低了可扩展语言文件编辑的成本。
280.本技术实施例还提供了一种电子设备,包括处理器和存储器,存储器中存储有至少一条指令或者至少一段程序,至少一条指令或者至少一段程序由处理器加载并执行以实现如上述方法实施例所提供的文件编辑方法。
281.存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及实现高阶自动驾驶。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
282.本技术实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述电子设备可以包括计算机终端、服务器或者类似的运算装置。图7是本技术实施例提供的运行一种文件编辑方法的电子设备的硬件结构框图,如图7所示,该电子设备的内部结构可包括但不限于:处理器、网络接口及存储器。其中,电子设备内的处理器、网络接口及存储器可通过总线或其他方式连接,在本说明书实施例所示图7中以通过总线连接为例。
283.其中,处理器(或称cpu(central processing unit,中央处理器))是电子设备的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi、移动通信接口等)。存储器(memory)是电子设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速ram存储设备,也可以是非不稳定的存储设备(non-volatile memory),例如至少一个磁盘存储设备;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了电子设备的操作系统,可包括但不限于:windows系统(一种操作系统),linux(一种操作系统),android(安卓,一种移动操作系统)系统、ios(一种移动操作系统)系统等等,本技术对此并不作限定;并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。在本说明书实施例中,处理器加载并执行存储器中存放的一条或一条以上指令,以实现上述方法实施例提供的文件编辑方法。
284.本技术实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令或者至少一段程序,至少一条指令或者至少一段程序由处理器加载并执行以实现方法实施例提供的文件编辑方法。
285.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
286.需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多小样本图像分类和并行处理也是可以的或者可能是有利的。
287.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
288.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
289.以上仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1