Python 3.x:解析ATOM XML并转换为dict

时间:2016-12-27 15:07:05

标签: python json xml python-3.x

我正在努力将来自API的ATOM XML文件解析为公共数据结构,例如dictPandas dataframeJSON

我理解XML文件比JSON文件更复杂,因此不会有一个非常简单的通用解决方案。我希望,鉴于我正在处理ATOM结构可能有助于将文件解析为更通用的数据结构。

XML数据的结构:http://opendata.cbs.nl/ODataFeed/OData/70266ned/TypedDataSet 类似于JSON:http://opendata.cbs.nl/ODataFeed/OData/70266ned/TypedDataSet

我无法使用JSON文件的原因是它通常不可用。

我使用了xml.etreexmltodictlxmlxmljsonfeedparser这样的图书馆,但我一直都会遇到错误。

例如,使用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

帮助将受到高度赞赏!

1 个答案:

答案 0 :(得分:0)

我不知道你是否解决了它但是你尝试过使用:

tree = ElementTree.fromstring(r.text)

r.content以字节为单位返回内容(http://docs.python-requests.org/en/master/api/#requests.Response