如何构建这个XML命名空间?

时间:2017-06-22 02:32:38

标签: python xml elementtree

我试图为思科ISE Guest API创建一些来宾用户XML文件(使用Pythong etree),并且如何创建命名空间部分(见下面的粗体)。

**<ns4:guestuser description="ERS Example user " id="123456789" name="guestuser"  xmlns:ers="ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns4="identity.ers.ise.cisco.com">**

element...
element...
</ns4:guestuser>

以下是我的Python程序的一部分......我做错了吗?如何从description =&#34; ERS示例用户&#34; ..?

开始插入那长串的命名空间

任何建议/帮助将不胜感激..

from xml.etree import ElementTree as ET

def buildTree(name):
root = ET.Element("ns4:guestuser")
<snip>
<snip>

 tree.write("user1.xml", xml_declaration=True, encoding='utf-8', method="xml")

1 个答案:

答案 0 :(得分:0)

您可以使用attrib parameter添加元素属性:

>>> attributes = {"description":"ERS Example user ", "id":"123456789", "name":"guestuser", " xmlns:ers":"ers.ise.cisco.com", "xmlns:xs":"http://www.w3.org/2001/XMLSchema", "xmlns:ns4":"identity.ers.ise.cisco.com"}
>>> root = ET.Element("ns4:guestuser", attrib=attributes)
>>> print ET.tostring(root)
<ns4:guestuser  xmlns:ers="ers.ise.cisco.com" description="ERS Example user " id="123456789" name="guestuser" xmlns:ns4="identity.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" />