之前也没用过 py 来生成 xml。一般都是 lxml 解析。
然后今天代码用内置的 xml 模块写好了,生成的时候才发现个坑,塔喵的 xml 模块生成的 xml 文件硬是有个
<?xml version="1.0" ?>头。
再看了下 xml 模块的源码。。
def writexml(self, writer, indent="", addindent="", newl="",
encoding = None):
if encoding is None:
writer.write('<?xml version="1.0" ?>'+newl)
else:
writer.write('<?xml version="1.0" encoding="%s"?>%s' % (encoding, newl))
for node in self.childNodes:
node.writexml(writer, indent, addindent, newl)
之后查了下 lxml 生成的没头,这个 xml 生成的一定有头。但是又有点懒得用 lxml 再重写一次了(因为结点有点多)。所以有什么办法可以去掉这个<?xml version="1.0" ?>头不?
比如说 lxml 有什么美化 xml 输出的方法之类的不,因为这玩意不仅多了头,连下面的行都有自带多个 tab,单纯用文件形式打开,再 replace 掉开头一行感觉也不太对。