我正在尝试使用类似于此示例的lxml指定名称空间(取自此处):
<TreeInventory xsi:noNamespaceSchemaLocation="Trees.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</TreeInventory>
我不确定如何添加要使用的 Schema 实例以及 Schema 位置。通过执行以下操作,文档让我开始了:
>>> NS = 'http://www.w3.org/2001/XMLSchema-instance'
>>> TREE = '{%s}' % NS
>>> NSMAP = {None: NS}
>>> tree = etree.Element(TREE + 'TreeInventory', nsmap=NSMAP)
>>> etree.tostring(tree, pretty_print=True)
'<TreeInventory xmlns="http://www.w3.org/2001/XMLSchema-instance"/>\n'
我不确定如何将其指定为实例,然后还指定位置。似乎这可以使用nsmap
关键字参数 in来完成etree.Element
,但我不明白如何。