web-dev-qa-db-ja.com

URLのXMLをpythonオブジェクトに解析します

Goodreads Webサイトには、ユーザーの「棚」にアクセスするためのこのAPIがあります: https://www.goodreads.com/review/list/20990068.xml?key=nGvCqaQ6tn9w4HNpW8kquw&v=2&shelf=toread

XMLを返します。私はこのAPIから本を棚に表示するDjangoプロジェクトを作成しようとしています。オブジェクトをテンプレートに渡すことができます現在、これは私がやっていることです:

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

25
smilebomb

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