用python 写代码比对两个xml文件,根据class比对每个p字段,list字段的不同,并打印出来
时间: 2024-05-09 15:18:52 浏览: 56
python比较2个xml内容的方法
以下是一个可能的解决方案:
```python
import xml.etree.ElementTree as ET
# 读取两个XML文件
tree1 = ET.parse('file1.xml')
root1 = tree1.getroot()
tree2 = ET.parse('file2.xml')
root2 = tree2.getroot()
# 比对每个p字段
for p1 in root1.findall('.//p'):
# 找到相同class的p字段
class_name = p1.get('class')
p2 = root2.find(".//p[@class='{}']".format(class_name))
if p2 is None:
continue
# 比对list字段
list1 = p1.find('list')
list2 = p2.find('list')
if list1 is None or list2 is None:
continue
# 打印不同
if list1.text != list2.text:
print("Class {}: list is different".format(class_name))
```
这个代码首先使用`xml.etree.ElementTree`库读取两个XML文件。然后,它循环遍历第一个XML中的每个`p`字段,并查找在第二个XML中具有相同`class`属性的`p`字段。如果找到了相同的`p`,则比较它们的`list`字段。如果这些字段不同,则打印消息指出差异。请注意,此代码仅比较`list`字段的文本内容,而不考虑它们的结构或子元素。
阅读全文