Uthenting av alle data

I en del tilfeller er man interessert i å hente ut alt av data fra KL06 og plassere disse i sin egen datakilde. Man kan da traverse de elementene man er interesserte i og trekke ut relevant informasjon.

C#

SOAP

public async Task HentAlleLæreplaner()
        {
            var client = new GrepSoapClient(); 
            var læreplaner = await client.FinnPlanerAsync(null); // Null som argument gir tilbake alle
            foreach (var laereplansoekeresultat in læreplaner.treff)
            {
                var læreplan =
                    client.HentPlanFraKode(new hentlaereplanfrakoderequest {Kode = laereplansoekeresultat.kode});
                Debug.WriteLine(læreplan.kode + " " + læreplan.tittel.First(t => t.spraak == "default").verdi);
            }
        }

Rest

{
            var client = new HttpClient();
            // Bruker autogenererte klasser fra Soap-referanse. Her kan man også bruke egne klasser eller dynamic
            var læreplaner = JsonConvert.DeserializeObject<List<laereplansoekeresultat>>(await client.GetStringAsync("http://data.udir.no/kl06/laereplaner"));
            foreach (var laereplansoekeresultat in læreplaner)
            {
                var læreplan = JsonConvert.DeserializeObject<laereplan>(await client.GetStringAsync(laereplansoekeresultat.urldata));
                Debug.WriteLine(læreplan.kode + " " + læreplan.tittel.First(t => t.spraak == "default").verdi);
            }

Javascript

Soap anbefales ikke som protokoll i javascript da REST/JSON-formatet er enklere å behandle

Rest

Dette eksempelet bruker JQuery.

var hent = function(endepunkt) {
        return $.get(endepunkt).then(
            function(res) {
                 return res;
            }
        );
    };

    var hentLæreplanliste = function() {
        return hent('http://data.udir.no/kl06/laereplaner');
    };


    var traverserLæreplaner = function () {
        hentLæreplanliste().then(function(læreplaner) {
            for (var i = 0; i < læreplaner.length; i++) {
                hentSpesifikkLæreplan(læreplaner[i]['url-data']);
            }
        });
    }

    var hentSpesifikkLæreplan = function (url) {
        hent(url).then(function(læreplan) {
            console.log(_.find(læreplan.tittel, function(tittel) {
                return tittel.noekkel == 'default';
            }).verdi);
        }, function(feil) {
            console.log(feil);
        });
    }

results matching ""

    No results matching ""