我正在努力将来自API的ATOM XML文件解析为通用数据结构,例如dict
,Pandas dataframe
或JSON
,
我知道XML文件比JSON文件更复杂,因此不会有一个非常简单的通用解决方案。我希望鉴于我正在处理 ATOM 结构的事实可能有助于将文件解析为更通用的数据结构。
XML 数据的结构:http://opendata.cbs.nl/ODataFeed/OData/70266ned/TypedDataSet 这里的 JSON 也类似:http://opendata.cbs.nl/ODataFeed/OData/70266ned/TypedDataSet
我无法使用 JSON 文件的原因是它通常不可用。
我玩过xml.etree
、xmltodict
、lxml
、xmljson
和feedparser
等库,但我总是收到错误。
例如,使用feedparser
:
r = requests.get('http://opendata.cbs.nl/ODataFeed/OData/70266ned/TypedDataSet')
tree = ElementTree.fromstring(r.content)
产生错误
xml.etree.ElementTree.ParseError: not well-formated (invalid token): line 1, column 0
帮助将不胜感激!
我不知道你是否解决了它,但是,你试过使用吗?
tree = ElementTree.fromstring(r.text)
r.content
以字节为单位返回内容(请参阅:http://docs.python-requests.org/en/master/api/#requests.Response)