1

我正在尝试使用 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)
4

0 回答 0