我想用Python和lxml的生成XML像下面的XML:生成使用默认命名空间
<root xmlns="foo">
<bar />
</root>
但是,下面的代码创建的XML是语义上相同,但使用丑自动生成的命名空间前缀改为:
from lxml import etree
root = etree.Element('{foo}root')
etree.SubElement(root,'{foo}bar')
print(etree.tostring(root))
#=> b'<ns0:root xmlns:ns0="foo"><ns0:bar/></ns0:root>'
我如何LXML/etree使用根元素的单一的默认命名空间,对任何后代元素没有命名空间前缀生成XML?
阅读http://lxml.de/tutorial.html#namespaces –
@LutzHorn也许我缺少一个句子,但教程(我读过)仅介绍如何_QUERY_反对默认名称空间,而不是如何获得序列化来_emit_默认名称空间。 – Phrogz
再次阅读:)(或阅读下面的答案) –