У меня есть 3 списка одинаковой длины, и я пытаюсь записать их в XML-файл следующим образом:
import xml.etree.ElementTree as ET
import re
title_list = ['title1', 'title2', 'title3']
date_list = ['date1', 'date2', 'date3']
text_list = ['text1', 'text2', 'text3']
book = ET.Element('book')
for e in zip(title_list, date_list, text_list):
book = ET.Element('book')
article = ET.SubElement(book, 'article')
title = ET.SubElement(article, 'title')
date = ET.SubElement(article, 'date')
text = ET.SubElement(article, 'text')
title.text = e[0]
date.text = e[1]
text.text = e[2]
tree_out = ET.ElementTree(book)
tree_out.write('test.xml')
мой вывод («довольно напечатанный» в кислороде):
<book>
<article>
<title>title3</title>
<date>date3</date>
<text>text3</text>
</article>
</book>
но мне хотелось бы иметь:
<book>
<article>
<title>title1</title>
<date>date1</date>
<text>text1</text>
</article>
<article>
<title>title2</title>
<date>date2</date>
<text>text2</text>
</article>
<article>
<title>title3</title>
<date>date3</date>
<text>text3</text>
</article>
</book>
Как я могу получить весь вывод? Я много читал здесь, но у меня ничего не работает. Пожалуйста, объясните это в простых терминах, так как я довольно новичок в этой библиотеке и XML в целом