Как создать диаграммы из XML в Django? - PullRequest
0 голосов
/ 04 мая 2020

Моя цель - создать диаграмму, используя вывод XML из HTTP-запроса.

По этому сценарию


from django.shortcuts import render
import xml.etree.ElementTree as ET
# Create your views here.
from django.http import HttpResponse
from sickle import Sickle


def index(request):
    return render(request, 'index_content.html')


def completeness(request):
    sickle = Sickle('http://www.culturaitalia.it/oaiProviderCI/OAIHandler')

    records = sickle.ListRecords(metadataPrefix='oai_dc', set='mura_fort')

    return render(request, 'completeness.html', {'records':records})

У меня около 200 записей в XML формат.

Вот пример одного из них:

<record xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <header>
        <identifier>oai:culturaitalia.it:oai:touringclub.com:56000</identifier>
        <datestamp>2012-02-06T16:09:08Z</datestamp>
        <setSpec>Beni_culturali</setSpec>
    </header>
    <metadata>
        <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
            <dc:description>Lungo le mura, al posto del baluardo nord-est, la cosiddetta Fortezza medicea è un degradato complesso di corpi di fabbrica eretti nella 2ª metà del '500 attorno al trecentesco cassero senese.</dc:description>
            <dc:identifier>56000</dc:identifier>
            <dc:relation>http://www.touringclub.com/monumento/toscana/grosseto/fortezza-medicea_3.aspx</dc:relation>
            <dc:title>Fortezza medicea, Grosseto</dc:title>
            <dc:type>Oggetto fisico</dc:type>
        </oai_dc:dc>
    </metadata>
</record>

Как вы можете видеть здесь return render(request, 'completeness.html', {'records':records}) шаблон отображает записи XML. Тем не менее, я хотел бы получить в качестве выходных данных диаграмму, представляющую общее число каждого d c: описание, d c: заголовок и c.

Конечно, я должен повторить свой запросите XML, а затем посчитайте, сколько d c: title, d c: description или d c: identifier находятся в выходных записях.

Любое предложение о быстром и простом решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...