帮我写一个比较两个xml文件是否不同的代码
时间: 2023-08-12 22:05:09 浏览: 89
可以使用 Python 中的 ElementTree 模块来比较两个 XML 文件是否相同。你可以使用以下代码:
```python
import xml.etree.ElementTree as ET
def compare_xml_files(file1, file2):
tree1 = ET.parse(file1)
tree2 = ET.parse(file2)
root1 = tree1.getroot()
root2 = tree2.getroot()
if root1.tag != root2.tag:
return False
if root1.attrib != root2.attrib:
return False
if len(root1) != len(root2):
return False
for child1, child2 in zip(root1, root2):
if not compare_elements(child1, child2):
return False
return True
def compare_elements(e1, e2):
if e1.tag != e2.tag:
return False
if e1.attrib != e2.attrib:
return False
if e1.text != e2.text:
return False
if len(e1) != len(e2):
return False
for child1, child2 in zip(e1, e2):
if not compare_elements(child1, child2):
return False
return True
```
这个函数会比较两个 XML 文件的根元素是否相同,以及它们的子元素是否相同。调用这个函数,传入两个 XML 文件的路径,它将返回一个布尔值,指示这两个文件是否相同。
注意,这个函数假设两个 XML 文件中的元素都按照相同的顺序排列。如果你的 XML 文件中的元素顺序不同,这个函数可能会返回错误结果。