【发布时间】:2021-09-27 08:29:31
【问题描述】:
示例 xml:
<abcd>
... Many contents here ...
</abcd>
我想更改如下示例文件:
<abcd xmlns="urn:myname" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:myname myname.xsd">
.... many contents here
</abcd>
所以,我的代码如下,但是当我打印出文档时,结果与输入文件相同。
attr_qname = etree.QName("http://www.w3.org/2001/XMLSchema-instance", "schemaLocation")
nsmap = {None: "urn:myname", 'xsi':"http://www.w3.org/2001/XMLSchema-instance"}
document = etree.parse(self.fname)
root = document.getroot()
root = etree.Element('abcd', {attr_qname: 'urn:myname myname.xsd'}, nsmap=nsmap)
print("Parsed : ", etree.tostring(document, pretty_print=True).decode())
如何添加命名空间并打印出来?
【问题讨论】:
标签: python python-3.x xml lxml xml-namespaces