我正在尝试使用 python 创建 XML 文件。我想创建一个类似于下面的 XML 文件。
<?xml version="1.0" encoding="UTF-8"?>
<toplevel>
<ChildLevel
xmlns=http://schemas.dmtf.org/ovf/environment/1>
<Property key="username1" value="test"/>
<Property key="username2" value="testuser"/>
</ChildLevel>
</toplevel>
我已经编写了以下 python 脚本并生成了 XML 文件。但是如何在创建 xml 文件时指定命名空间。
from lxml import etree
from array import array
val_ = []
val_.append("username1## test ")
val_.append("username2## testuser ")
xml__= etree.Element('toplevel')
product_=etree.SubElement(ovf_env_xml, " ChildLevel")
for keyval_ in val_:
keyvalue_ = keyval_.split("##")
property_ = etree.SubElement(product_, 'Property')
property_.set("key", keyvalue_[0])
property_.set("value", keyvalue_[1])
etree.ElementTree(xml__).write("/tmp/test.xml", pretty_print=True)
输出 XML 文件:
<toplevel>
<ChildLevel>
<Property key="username1" value="test"/>
<Property key="username2" value="testuser"/>
</ChildLevel>
</toplevel
我需要在我的 XML 文件中附加多个命名空间。
抱歉,伙计们..在搜索了更多博客后,我得到了解决方案..我刚刚在我的 python 脚本中进行了以下更改。
nsmap = {
None: "urn:iso:std:iso:2013:008.001.02",
'xsi': "http://www.w3.org/2001/XMLSchema-instance",
}
xml__= etree.Element('toplevel',nsmap=nsmap)