首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将XML从URL解析为python对象

将XML从URL解析为python对象
EN

Stack Overflow用户
提问于 2014-06-10 00:31:02
回答 3查看 76.2K关注 0票数 33

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

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

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-10 00:38:31

我将使用xmltodictXML数据结构中创建一个python字典,并将此字典传递给context中的模板:

代码语言:javascript
复制
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})
票数 45
EN

Stack Overflow用户

发布于 2019-09-18 18:01:28

使用urllib3xmltodict

代码语言:javascript
复制
import traceback
import urllib3
import xmltodict

def getxml():
    url = "https://yoursite/your.xml"

    http = urllib3.PoolManager()

    response = http.request('GET', url)
    try:
        data = xmltodict.parse(response.data)
    except:
        print("Failed to parse xml from response (%s)" % traceback.format_exc())
    return data
票数 9
EN

Stack Overflow用户

发布于 2020-05-25 22:09:08

使用requestsxmltodict

代码语言:javascript
复制
import requests
import xmltodict

url = "https://yoursite/your.xml"
response = requests.get(url)
data = xmltodict.parse(response.content)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24124643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档