Advertisement
Guest User

Untitled

a guest
Oct 28th, 2016
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Используется либа lxml вместо стандартной питоновской
  2. from lxml import etree as et
  3.  
  4. # Парсим файлы
  5. parser = et.XMLParser(remove_blank_text=True)
  6. file1 = et.ElementTree().parse('1.xml', parser)
  7. file2 = et.ElementTree().parse('2.xml', parser)
  8.  
  9. a_tag = file1.find('a') # Ищем тег 'a'
  10.  
  11. # Пихаем в file2 тег 'a' с теми же атрибутами, что и у 'a' из первого файла
  12. new_a = et.SubElement(file2, 'a', a_tag.attrib)
  13.  
  14. b_tags = file2.findall('b') # 'Ищем теги b' из второго файла
  15.  
  16. # Добавляем теги 'b' в 'a' и удаляем их из корня
  17. for b in b_tags:
  18.     et.SubElement(new_a, 'b', b.attrib).text = ''
  19.     file2.remove(b)
  20.  
  21. # Пишем это всё в новый файл
  22. tree = et.ElementTree(file2)
  23. tree.write('3.xml', encoding='UTF-8', pretty_print=True)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement