You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python解析MySQL输出的XML格式查询结果

解析MySQL导出XML为字典列表的Python方案

直接使用Python标准库自带的xml.etree.ElementTree模块即可完成需求,无需安装第三方依赖,完全适配你给出的XML结构:

完整代码示例

import xml.etree.ElementTree as ET

# 若XML内容存储在文件中,使用ET.parse('文件路径')读取,再调用getroot()获取根节点即可
xml_content = '''<resultset statement="select * from table where id > 5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
    <field name="name">first</field>
    <field name="login">2021-08-16 13:44:35</field>
  </row>
  <row>
    <field name="name">second</field>
    <field name="login">2021-08-18 13:44:35</field>
  </row>
</resultset>'''

# 解析XML获取根节点
root = ET.fromstring(xml_content)
result_list = []

# 遍历所有行节点
for row_node in root.findall('row'):
    row_dict = {}
    # 遍历当前行所有字段节点
    for field_node in row_node.findall('field'):
        # 取字段名属性为键,字段文本为值
        col_name = field_node.attrib['name']
        col_value = field_node.text
        row_dict[col_name] = col_value
    result_list.append(row_dict)

# 输出结果为要求的字典列表格式
print(result_list)

输出效果

运行上述代码得到的结果如下,完全匹配需求:

[{'name': 'first', 'login': '2021-08-16 13:44:35'}, {'name': 'second', 'login': '2021-08-18 13:44:35'}]

注意事项

  • 模块会自动处理XML中的转义字符,无需手动预处理
  • 若某字段无值,field_node.text会返回None,可根据业务需要自行替换为空字符串等默认值
  • 针对你给出的简单XML结构,标准库解析效率足够,无需自行编写解析逻辑

内容的提问来源于stack exchange,提问作者Asara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 01:45:02