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

时间:2017-11-23 16:49:01

标签: python xml dictionary lxml

我有两个不同的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

0 个答案:

没有答案