首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python libxml2序列化问题

python libxml2序列化问题
EN

Stack Overflow用户
提问于 2011-08-18 05:57:42
回答 2查看 759关注 0票数 1

我在尝试用python序列化libxml2对象时遇到了一些问题。

特别是,如果我运行:

代码语言:javascript
复制
xmlstring = cdoc.serialize('UTF-8', 1)

其中cdoc是之前创建的libxml2文档,

我有这样的东西:(在mac - port python 2.5.6上)

代码语言:javascript
复制
<?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 (带有python 2.4或2.6的Centos 5.6 )上,我有:

代码语言:javascript
复制
<?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>

字符串节点的缩进有问题。

现在我可以通过这样做来解决这个问题:

代码语言:javascript
复制
xmlstring = cdoc.serialize('UTF-8')

没有缩进选项,但输出格式可读性不是很好。

有没有办法解决输出中令人尴尬的缩进问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-19 00:08:15

我只是注意到我在跑:

代码语言:javascript
复制
xmlstring = cdoc.serialize('UTF-8', 2) 

而不是

代码语言:javascript
复制
xmlstring = cdoc.serialize('UTF-8', 1) 

由于某些原因,这在libxml2 2.6上也缩进了文本节点,而在libxml2 2.7上不缩进。

票数 1
EN

Stack Overflow用户

发布于 2011-08-18 23:46:40

这可能是不同机器上的libxml2版本之间的行为差异。尝试将最旧的版本升级到较新的版本(或较新的版本)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7100047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档