我想用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
再次閱讀:)(或閱讀下面的答案) –