Interpretazione grafica di un RSS

// height=300 lines=auto
var rss;

function preload() {
    rss = loadXML( "../assets/fattoquotidiano_180415.rss" );
}

function setup() {
    createCanvas(300,300);
    colorMode( HSL, 360,100,100,100 );
    background( 100 );
    noStroke();

    var items = rss.getChild("channel").getChildren("item");

    for (var i=0;  i<items.length;  i++) {
        var title = items[i].getChild("title").getContent();
        var fillHue = title.charCodeAt(1)*130 % 360;
        var diametro = title.length*2;

        fill( fillHue,100,50, 10 );
        ellipse( 150,150, diametro );
    }
}
var items = rss.getChild("channel").getChildren("item");

Ricava l'elemento <channel> e subito dopo i relativi elementi <item> senza usare una variabile intermedia.

var fillHue = title.charCodeAt(1)*130 % 360;

Calcola il tono del colore dei cerchi usando il 2° carattere dei titoli moltiplicato per 130 e "tagliato" in modo da non avere mai valori uguali o superiori a 360 (% 360).

var diametro = title.length*2;

Calcola il diametro dei cerchi moltiplicando la lunghezza dei titoli per 2.

Provare a usare l'altro RSS presente nella cartella "assets" come parametro dell'istruzione loadXML(): "repubblica_180415.rss".

Provare a modificare il numero di carattere da usare (title.charCodeAt(1)) e/o il moltiplicatore (*130).

 


Strutturazione dei file: