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

Python使用xml.etree.ElementTree的fromstring解析指定站点报错如何解决

问题解决建议
  • 报错根因:第二个ELIA电网数据接口默认返回JSON格式数据,你用XML解析库处理非XML内容自然会触发语法错误。
  • 解决方案1:直接解析返回的JSON内容,无需使用XML相关逻辑,适配代码如下:
import requests
import pandas as pd

r = requests.get('https://griddata.elia.be/eliabecontrols.prod/interface/oneminuteimbalance/SystemImbalancePrice')
# 直接解析JSON
data = r.json()
# 如需结构化处理可直接转为DataFrame
df = pd.json_normalize(data)
print(df)
  • 解决方案2:如果你明确需要XML格式返回,可以通过请求头指定接受的返回格式,若接口支持XML返回则会返回对应内容,适配代码如下:
import requests
import xml.etree.ElementTree as ET

# 指定接受XML格式的返回结果
headers = {'Accept': 'application/xml'}
r = requests.get('https://griddata.elia.be/eliabecontrols.prod/interface/oneminuteimbalance/SystemImbalancePrice', headers=headers)

# 先校验返回内容类型再选择解析方式
content_type = r.headers.get('Content-Type', '')
if 'application/xml' in content_type:
    tree = ET.fromstring(r.content)
    # 后续XML解析逻辑
elif 'application/json' in content_type:
    data = r.json()
    print("接口不支持XML返回,已解析为JSON格式", data)
  • 额外提示:请求完成后可先打印r.headers['Content-Type']确认返回内容类型,再选择对应解析逻辑,可避免同类解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 22:48:02