如何构建这个XML命名空间?
问题描述:
我正在尝试为思科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")
答
您可以使用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" />
@ har07 ....你让我的日子....那工作!!! ....干杯... – Michael