要比较多个XML文件,可以使用以下代码示例中的解决方法:
import xml.etree.ElementTree as ET
from difflib import unified_diff
def compare_xml_files(file1, file2):
tree1 = ET.parse(file1)
tree2 = ET.parse(file2)
root1 = tree1.getroot()
root2 = tree2.getroot()
diff = list(unified_diff(ET.tostringlist(root1), ET.tostringlist(root2)))
if diff:
print("Files are different:")
for line in diff:
print(line)
else:
print("Files are identical.")
# 比较两个XML文件
file1 = "file1.xml"
file2 = "file2.xml"
compare_xml_files(file1, file2)
# 比较多个XML文件
files = ["file1.xml", "file2.xml", "file3.xml"]
for i in range(len(files)-1):
compare_xml_files(files[i], files[i+1])
上述代码使用了xml.etree.ElementTree
模块解析XML文件,并使用difflib
模块的unified_diff
函数比较两个XML文件。unified_diff
函数返回的是两个XML文件的差异行的生成器,通过遍历差异行可以显示文件的不同之处。
要比较多个XML文件,可以使用循环遍历文件列表,并依次比较相邻的两个文件。
上一篇:比较多个信号的相似性