python - 将 XML 从 URL 解析为 python 对象

标签 python xml django xml-parsing urllib2

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

它返回 XML。我正在尝试创建一个 django 项目,该项目在此 API 的书架上显示书籍。我正在寻找如何(或者是否有更好的方法)来编写我的 View ,以便我可以将对象传递给我的模板。目前,这就是我正在做的事情:

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)

如果我正确执行此操作,我不完全确定如何操作此对象。我正在关注 tutorial .

最佳答案

我会使用 xmltodictXML 数据结构中创建一个 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})

关于python - 将 XML 从 URL 解析为 python 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24124643/

相关文章:

python - 如何获取对象的字段?

python - 夹层的菜单页

python - 使用 NameServer : "could not find NameServer" 启动 Pyro Daemon 时出错

python - 在 bash 中调用一个 python 进程,然后将输出捕获到一个变量中

python - 无法在 Python 中导入我自己的模块

java - 用于 Java 和/或 Scala 的多模式 XML 处理器

java - 如何在 XmlDocument 中插入/替换 XML 标签?

xml - Android Studio 图形界面中的 ViewFlipper 开关?

python - 在 Ubuntu 远程服务器上安装 Django 项目

python - 无法打开资源文件,pygame错误: "FileNotFoundError: No such file or directory."