将xml包对象追加到python字典中

将xml包对象追加到python字典中,python,python-3.x,xml,Python,Python 3.x,Xml,我对python还不熟悉,但了解一些如何学习和更新现有代码的方法 我正在修改的python脚本的主要目标是读取xml文件,解析它并创建一个新的json文件。有许多python文件用于解析。我不想提及这里的每一件事。我会告诉你我在哪里遇到了问题 在xml文件中,有一个元素有两个相同的短名称 我想把包中的元素附加到字典中。所以我尝试使用下面的python代码 def extract(elem_type, attribute): (in this case, attribute is som

我对python还不熟悉,但了解一些如何学习和更新现有代码的方法

我正在修改的python脚本的主要目标是读取xml文件,解析它并创建一个新的json文件。有许多python文件用于解析。我不想提及这里的每一件事。我会告诉你我在哪里遇到了问题

在xml文件中,有一个元素有两个相同的短名称

我想把包中的元素附加到字典中。所以我尝试使用下面的python代码

    def extract(elem_type, attribute): (in this case, attribute is someip_service_instance_to_machine_mappings)
      for element in arxml_element.findall(elem_type.xpath, NS_MAPPING):
        getattr(parent_package, attribute).append(elem_type(element, parent_package))
        if attribute == 'someip_service_instance_to_machine_mappings':
            print("getting parent_package attribute")
            print(getattr(parent_package, attribute))
            print('\n')
根据上面的xml文件,元素SOMEIP-SERVICE-INSTANCE-to-MACHINE-MAPPING有两个短名称。所以,for循环应该执行两次。这是执行(好的和好的)。但是当我打印属性时,第一次循环:它正在创建一个字典并将子包放入其中。第二次循环:它正在覆盖现有的子包。但我希望附加它。下面是控制台输出

但是如果我将任何短名称SomeipServiceInstanceToMachineMapping更改为CheckSomeipServiceInstanceToMachineMapping。然后正确追加,下面是更改短名称后的控制台输出

所以我的问题是append在这个场景中是如何工作的?是否有其他附加选项,以便它可以通过相同的短名称进行附加


很抱歉我的愚蠢问题:(

欢迎使用堆栈溢出!请提供一个独立的问题才能被接受。另外,可能值得花一分钟阅读最后我发现了问题,该属性是dictionary,因为键值相同,它会更新该值。我想,我们可以关闭它。谢谢@sophros