将XML从URL解析为python对象?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (102)

Goodreads网站有一个API,用于访问用户的“shelves”:https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread

它返回XML。我正在尝试创建一个Django项目,在这个API的书架上显示书籍。我希望了解如何(或者有比)更好的方法来编写我的视图,这样我就可以将一个对象传递给我的模板。目前,我正在做的是:

import urllib2

def homepage(request):
    file = urllib2.urlopen('https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread')
    data = file.read()
    file.close()
    dom = parseString(data)

我不完全确定如何操作这个对象。

提问于
用户回答回答于

我会用xmltodict来将XML数据结构构建python字典,并将此字典传递给上下文中的模板:

import urllib2
import xmltodict

def homepage(request):
    file = urllib2.urlopen('https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread')
    data = file.read()
    file.close()

    data = xmltodict.parse(data)
    return render_to_response('my_template.html', {'data': data})
用户回答回答于

扫码关注云+社区

领取腾讯云代金券