Я создал XML-документ со следующим содержимым.
<books>
<book id="1">
<title>Title01</title>
<authors/>
<pages>
<page>Page01</page>
<page>Page02</page>
<page>Page03</page>
<page>Page04</page>
<page>Page05</page>
</pages>
</book>
<book id="2">
<title>Title02</title>
<authors/>
<pages>
<page>Page01</page>
<page>Page02</page>
<page>Page03</page>
<page>Page04</page>
<page>Page05</page>
</pages>
</book>
</books>
Затем я использую Python script для разделения и записи отдельных книг в отдельные файлы, однако полученные файлы не являются XML файлами, потому что у них нет объявления XML. Есть ли способ создания XML файлов в Python?
Идея состоит в том, чтобы гарантировать, что каждый файл имеет объявление XML, как показано ниже.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<book id="1">
<title>Title01</title>
<authors/>
<pages>
<page>Page01</page>
<page>Page02</page>
<page>Page03</page>
<page>Page04</page>
<page>Page05</page>
</pages>
</book>
Почему вы не пишете объявление xml в каждый файл книги перед записью записи в книгу?
Вы должны изучить модуль xml.etree.ElementTree
. Ссылка на Python 3, но она была включена до этого. Я использую его в Python 2.5, поэтому вы должны быть в порядке.
Кроме того, у меня были хорошие результаты с xml.dom.minidom
. После того, как вы построили Document
(добавив элементы с помощью createElement('ELEM_NAME')
, вы просто записываете его в поток с mydoc.toprettyxml()
.
Кодируйте свои файлы в UTF-8
вместо некоторой устаревшей кодировки типа ISO-8859-1
. Тогда вам не требуется объявление XML.