PYTHON 2.6 XML.ETREE to output single quote for attributes instead of double quote

夙愿已清 提交于 2019-12-09 21:49:08

问题


i got the following code :

#!/usr/bin/python2.6  

from lxml import etree  

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

the output generate is <test id="1234"/>
but i want <test id='1234'/>

can someone help ?


回答1:


I checked the documentation and found no reference for single/double-quote option.

I think your only recourse is print etree.tostring(n).replace('"', "'")

Update

Given:

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

my original answer could output malformed XML because of unbalanced apostrophes:

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

Martijn suggested print etree.tostring(n).replace("'", '&apos;').replace('"', "'") to address the problem:

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


来源:https://stackoverflow.com/questions/8730950/python-2-6-xml-etree-to-output-single-quote-for-attributes-instead-of-double-quo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!