PYTHON 2.6 XML.ETREE输出属性的单引号而不是双引号

时间:2012-01-04 17:12:26

标签: python xml lxml python-2.6

我收到了以下代码:

#!/usr/bin/python2.6  

from lxml import etree  

n = etree.Element('test')    
n.set('id','1234')  
print etree.tostring(n)  

输出生成为<test id="1234"/>
但我想要<test id='1234'/>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:7)

我检查了文档,发现没有单/双引号选项的参考。

我认为你唯一的办法是print etree.tostring(n).replace('"', "'")

<强>更新

假设:

from lxml import etree
n = etree.Element('test')
n.set('id', "Zach's not-so-good answer")

由于撇号不平衡,我的原始答案可能会输出格式错误的XML:

<test id='Zach's not-so-good answer'></test>

Martijn建议print etree.tostring(n).replace("'", '&apos;').replace('"', "'")解决问题:

<test id='Zach&apos;s not-so-good answer'></test>