python - 将具有“孩子”的xml转换为字典
问题描述
我有一个包含子文件的 xml 文件,我想将其转换为字典。
<people>
<type>
<name>lo_123</name>
<country>AUS</country>
<note>
<name>joe</name>
<gender>m</gender>
<age>26</age>
<spouse>
<name>lisa</name>
<gender>f</gender>
</spouse>
</note>
</type>
</people>
这是我的转换代码
import xml.etree.cElementTree as ET
xml='xmltest.xml'
crif_tree = ET.parse(xml)
crif_root = crif_tree.getroot()
data = []
for one in crif_root.findall('.//type'):
reg={e.tag: e.text for e in list(note1)}
data.append(reg)
for two in crif_root.findall('.//type/note'):
reg={e.tag: e.text for e in list(note1)}
data.append(reg)
for three in crif_root.findall('.//type/note/spouse'):
reg={e.tag: e.text for e in list(note1)}
data.append(reg)
print(data)
这是输出data
[{'name': 'lo_123', 'country': 'AUS', 'note': '\n '}, {'name': 'joe', 'gender': 'm', 'age': '26', 'spouse': '\n '}, {'name': 'lisa', 'gender': 'f'}]
我想要的输出是
[{'name': 'lo_123', 'country': 'AUS', 'note': '\n ', 'name': 'joe', 'gender': 'm', 'age': '26', 'spouse': '\n ', 'name': 'lisa', 'gender': 'f'}]
解决方案
推荐阅读
- javascript - 我如何使 PHP/HTML 图像在点击时显示原始大小?
- django - 为什么基于 FormView (CBV) 的视图在上下文中没有 URL 参数?
- python - 从航空公司网站上抓取低票价日历。异常标题的问题
- django - Django:如何在仅 1 个模板中包含元标记
- javascript - 通过 javascript 添加的表单字段不传递数据
- python - 除以前 3 个数字,其余数字保持不变
- javascript - 传递其值“锁定”的函数
- amazon-web-services - 在多个主机上设置 Hyperledger Fabric 时出现问题
- scala - Spark Hbase 连接器 (SHC) 未从 HBase 表返回任何数据
- python - 如何在 mac 终端中设置环境变量并让 python 脚本有效地选择变量?