我得到以下代码:

#!/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'/>
有人可以帮忙吗?

最佳答案

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

我认为你唯一的办法是 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>

关于PYTHON 2.6 XML.ETREE 为属性输出单引号而不是双引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8730950/

10-11 06:20