当前位置: 首页 > 面试题库 >

将URL中的XML解析为python对象

阎承嗣
2023-03-14
问题内容

Goodreads网站具有用于访问用户“货架”的API: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制作一个python字典,XML然后将该字典传递给上下文中的模板:

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})


 类似资料:
  • 问题内容: 我有一个看起来像这样的XML文件: 我想将其读入python对象,类似于字典列表。因为标记是绝对固定的,所以我很想使用正则表达式(我非常擅长使用那些正则表达式)。但是,我想我会检查是否有人知道如何在此处轻松避免使用正则表达式。我对SAX或其他解析没有太多经验,但是我愿意学习。 我期待向您展示如何在不使用regexes的情况下快速完成此操作。谢谢你的帮助! 问题答案: 如果您认为正则表达

  • 问题内容: 我想使用python解析一个简单的小型XML文件,但是在pyXML上的工作似乎已经停止了。如果可能的话,我想使用python 2.6。谁能推荐可以与2.6兼容的XML解析器? 谢谢 问题答案: 如果它既小又简单,则只需使用标准库即可: 这将返回实现标准文档对象模型API的DOM树 如果以后需要执行诸如模式验证或XPath查询之类的复杂操作,那么我建议使用第三方lxml模块,它是流行的l

  • 问题内容: 我有一个XML文件,例如 如何将其解析为JSON结构文件? 问题答案: 对于一个简单的解决方案,我建议使用Jackson库,它是一个Java库,用于生成和读取带有XML扩展名的JSON,因为它只需几行简单的代码就可以将任意复杂的XML转换为JSON。 input.xml Java代码: 该演示使用Jackson 1.7.7 (较新的1.7.8也可以使用),Jackson XML Dat

  • 我有一些信息存储在XML中,我需要解析XML并将一些值存储在Hashmap中。以下是XML: 我想要的关键是:Room1和值:16.412094,48.19719(例如为部分ID=1) 这是第一部分的示例。我有100多个部分,所以我想像我在第一个示例中解释的那样为每个部分存储键和值。 输出为: 房间1: 16.412094,48.19719;房间2: 16.369865,48.199006; 房间

  • 问题内容: 我是解析新手,找不到任何过时且未提出更多问题的教程。我正在尝试解析一个简单的xml文件url。xml非常简单: 并且只想将其保存为NSDictionary(标签作为键,数据作为值)。到目前为止,我所能成功完成的工作是在控制台中使用以下命令打印xml字符串: 我浏览过所有发现的在线教程,这些教程要么过时,要么过于复杂。任何帮助表示赞赏。 问题答案: 过程很简单: 创建对象,并向其传递数据

  • 问题内容: 我想在Java中使用斜杠(例如)来解析描述性网址。 我的总体想法是处理接收到的数据以在数据库中进行查找(因此使用URL作为搜索条件),然后返回包含数据的HTML页面。 我该怎么做呢? 问题答案: 您将拥有一个可以使用的字符串数组。