У меня есть два xmls, с жесткой структурой и скриптом Python, которые сравнивают их и пишут рядом diff в xml.Как мерзавецВсе работает, но XML не легок, и у меня неправильные различия.Как можно разделить сравнение на подузлы, чтобы было более понятно.
Мой код:
for l, r in chunk:
diff = find_diff(l, r)
batch.append(diff)
Где л слева xml, r - справа.
def find_diff(l, r):
article_num = l.attrib['product-id']
diffs = find_diff_recursive(l, r)
return diffs, article_num
def find_diff_recursive(l, r):
l_string = clean(etree.tounicode(l))
r_string = clean(etree.tounicode(r))
diffs = list(difflib.ndiff(l_string.split('\n'), r_string.split('\n')))
return convert_diffs(diffs)