Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nsmap获取名称空间字典以使用相同的python脚本解析不同的文件_Python_Xml_Dictionary_Lxml - Fatal编程技术网

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

使用nsmap获取名称空间字典以使用相同的python脚本解析不同的文件,python,xml,dictionary,lxml,Python,Xml,Dictionary,Lxml,我有两个不同的xml文件,名称空间如下 f1具有名称空间 {'ns1':''} f2具有名称空间 {'abc':'',无:'} 可以看出,namesapce对于相同的值有不同的键 如果创建名称空间字典并使用它,我可以使用相同的python脚本解析这两个文件: from lxml import etree d1 = etree.parse(f1) r1 = d1.getroot() ns = {'abc': 'http://www.externaltest.org/

我有两个不同的xml文件,名称空间如下 f1具有名称空间 {'ns1':''}

f2具有名称空间

{'abc':'',无:'}

可以看出,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