Errno 36: 文件名太长错误解析 python XML

Errno 36: File name too long error parsing python XML

我有一个 XML 文件,我正在尝试解析和访问以下文件的一个根:DonorAdvisedFundInd 我不应该遇到问题,但是当我尝试解析 XML 文件我收到一条错误消息:

[Errno 36] File name too long:`

这是我目前正在使用的代码:我删掉了大部分代码以便更容易看到问题所在。错误发生在解析行上。

import pandas as pd
import xml.etree.ElementTree as et
import requests
 
xml_data = requests.get("https://s3.amazonaws.com/irs-form-990/201903199349320465_public.xml").content
xtree = et.parse(xml_data)

现在我很困惑的原因是,如果您打开 link,XML 文件真的不会那么长。它应该能够被解析。如果有任何不同,我正在使用 IBM Watson Studio 的在线编译器。

任何人都可以提供任何见解或反馈,我将不胜感激。

尝试 fromstring:

import pandas as pd
import xml.etree.ElementTree as et
import requests
 
xml_data = requests.get("https://s3.amazonaws.com/irs-form-990/201903199349320465_public.xml").content
xtree = et.fromstring(xml_data)

更新 (用于查找特定元素):

for i in xtree.findall(".//"):
    if 'DonorAdvisedFundInd' in i.tag:
        print(i.tag, i.attrib, i.text)

另一种方法是像这样使用这个 xmltodict 库:

result = xmltodict.parse(xml_data)
result['Return']['ReturnData']['IRS990']['DonorAdvisedFundInd']