我正在努力将来自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
帮助将受到高度赞赏!
答案 0 :(得分:0)
我不知道你是否解决了它但是你尝试过使用:
tree = ElementTree.fromstring(r.text)
r.content以字节为单位返回内容(http://docs.python-requests.org/en/master/api/#requests.Response)