用Python编写XML文件

时间:2011-05-24 11:08:09

标签: python xml

我创建了一个包含以下内容的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脚本将各个书籍拆分并写入单独的文件;但是,生成的文件不是XML文件,因为它们没有XML声明。有没有办法在Python中创建XML文件?

我们的想法是确保每个文件都具有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>

3 个答案:

答案 0 :(得分:0)

为什么不在编写图书条目之前将xml声明写入每个图书文件?

答案 1 :(得分:0)

使用UTF-8对您的文件进行编码,而不是像ISO-8859-1这样的遗留编码。那么你不需要XML声明。

答案 2 :(得分:0)

您应该查看xml.etree.ElementTree模块。该链接适用于Python 3,但它之前已包含在内。我在Python 2.5中使用它,所以你应该没问题。

此外,xml.dom.minidom我的成绩也不错。构建Document后(通过添加createElement('ELEM_NAME')的元素,您只需将其写入包含mydoc.toprettyxml()的流。