使用nsmap获取名称空间字典以解析具有相同python脚本的不同文件

2024-10-01 09:16:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个不同的xml文件,它们的名称空间如下 f1具有命名空间 {ns1':'http://www.internaltext.com/document/informationtable'}

f2具有命名空间

{abc':'http://www.externaltest.org/2016/XMLSchema-instance',无:'http://www.internaltext.com/document/informationtable'}

可以看到,namesapce对于相同的值有不同的键。你知道吗

如果我创建一个名称空间字典并使用它,我可以使用相同的python脚本解析这两个文件:

    from lxml import etree
    d1 = etree.parse(f1)
    r1 = d1.getroot()
    ns = {'abc': 'http://www.externaltest.org/2016/XMLSchema-instance', 'miss': 'http://www.sec.gov/edgar/document/thirteenf/informationtable'}
    for i in r1.findall('miss:infoTable',ns):
         name = i.find('miss:name',ns)

但是有没有一种方法可以做到这一点,而不必定义名称空间字典并使用nsmap函数来提取名称空间字典并使用它? 就像

    ns = r1.nsmap

Tags: 文件名称comhttp字典www空间document