用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
你可以看看 xml.etree.ElementTree
这个模块。这个链接是针对Python 3的,但其实早在之前的版本就已经有了。我在Python 2.5中也用过,所以你应该没问题。
另外,我用 xml.dom.minidom
也得到了不错的效果。你只需要先创建一个 Document
(通过用 createElement('ELEM_NAME')
添加元素),然后用 mydoc.toprettyxml()
把它写到一个流里就可以了。
0
把你的文件编码成 UTF-8
格式,而不是用一些老旧的编码方式,比如 ISO-8859-1
。这样的话,你就不需要写 XML 声明了。
0
你为什么不在每个书籍文件的开头写上xml声明,然后再写书籍的内容呢?