Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Используется либа lxml вместо стандартной питоновской
- from lxml import etree as et
- # Парсим файлы
- parser = et.XMLParser(remove_blank_text=True)
- file1 = et.ElementTree().parse('1.xml', parser)
- file2 = et.ElementTree().parse('2.xml', parser)
- a_tag = file1.find('a') # Ищем тег 'a'
- # Пихаем в file2 тег 'a' с теми же атрибутами, что и у 'a' из первого файла
- new_a = et.SubElement(file2, 'a', a_tag.attrib)
- b_tags = file2.findall('b') # 'Ищем теги b' из второго файла
- # Добавляем теги 'b' в 'a' и удаляем их из корня
- for b in b_tags:
- et.SubElement(new_a, 'b', b.attrib).text = ''
- file2.remove(b)
- # Пишем это всё в новый файл
- tree = et.ElementTree(file2)
- tree.write('3.xml', encoding='UTF-8', pretty_print=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement