0

我有一个包含许多命名空间的 XML 文件:

<root xmlns:ser="https://some_address" xmlns:mirror="https://some_mirror_address">
   <ser:use server="some_server_address"/>
   <mirror:use default="some_mirror_address"/>
</root>

我正在使用 lxml 和 python 来解析这种类型的文件。现在,我的要求是,当我解析这个 XML 文件时,我需要将所有命名空间存储在一个字典中,例如:

nsd = {'ser' : 'https://some_address', 'mirror' : 'https://some_mirror_address'}

这样做的意图是,命名空间不是预先确定的。因此,当我解析 XML 时,我需要将所有命名空间存储在字典中,然后继续进行进一步的活动。

这可以在lxml中实现吗?

4

1 回答 1

0

假设您使用的是 etree api,对于给定的元素,您可以访问该nsmap属性。这包含一本您正在寻找的字典。

于 2013-04-02T22:38:43.000 回答