【发布时间】:2011-10-29 07:50:48
【问题描述】:
我在尝试在 python 中序列化 libxml2 对象时遇到了一些问题。
特别是,如果我运行:
xmlstring = cdoc.serialize('UTF-8', 1)
其中 cdoc 是之前创建的 libxml2 文档,
我有这样的东西:(在 Mac 上 - 端口 python 2.5.6)
<?xml version="1.0" encoding="UTF-8"?>
<body>
<journal>
<journal_metadata language="en">
<full_title>Contributions of Lick Observatory</full_title>
<issn media_type="print">1750-0095</issn>
<coden>CoLic</coden>
</journal_metadata>
</journal>
</body>
在 Linux 上(Centos 5.6 和 python 2.4 或 2.6)我有:
<?xml version="1.0" encoding="UTF-8"?>
<body>
<journal>
<journal_metadata language="en">
<full_title>
Contributions of Lick Observatory
</full_title>
<issn media_type="print">
1750-0095
</issn>
<coden>
CoLic
</coden>
</journal_metadata>
</journal>
</body>
字符串节点的缩进有问题。
现在我可以通过这样做来解决这个问题:
xmlstring = cdoc.serialize('UTF-8')
没有缩进选项,但输出格式不是很可读。
有没有办法解决输出的尴尬缩进?
【问题讨论】:
-
两个平台的libxml2版本是多少?
-
在 mac 上是 libxml2_2.7.8 和 py25-libxml2_2.6.21;在 CentOS 2_2.6.26
-
好的...我认为问题出在 libxml2 的版本上...我在 Centos6 上尝试了 libxml2 2.7.something 并且工作正常。感谢您的建议。
标签: python serialization xml-serialization libxml2