2017-06-22 36 views
0

我正在尝试为思科ISE Guest API创建一些访客用户XML文件(使用Pythong etree),并被困在如何创建名称空间部分(请参见下面的粗体)中。如何构建这个XML命名空间?

**<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程序的一部分...我做错了吗?我如何插入从描述=“ERS示例用户”开始的长字符串的命名空间..?

任何建议/帮助将非常感激..

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") 

回答

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" /> 
+0

@ har07 ....你让我的日子....那工作!!! ....干杯... – Michael