PYTHON 2.6 XML.ETREE для вывода одинарных кавычек для атрибутов вместо двойных кавычек - PullRequest
2 голосов
/ 04 января 2012

я получил следующий код:

#!/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 Ответ

7 голосов
/ 04 января 2012

Я проверил документацию и не нашел ссылки для опции с одинарной / двойной кавычкой.

Я думаю, что ваш единственный выход - 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>

Мартийн предложил print etree.tostring(n).replace("'", '&apos;').replace('"', "'") для решения проблемы:

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