Lire un fichier xml

Ce code de lecture permet de lire un fichier xml écrit par le code contenu dans l’article "Créer un fichier xml".

Voir l’article "créer un xml"

Ce code génère une structure comme ceci

<?xml version="1.0" encoding="utf-8"?>
 <EcranMatrix>
   <Bytes>
     <int>73</int>
     <int>71</int>
     <int>69</int>
     <int>70</int>
     <int>71</int>
     <int>71</int>

Des images stockées pixel par pixel dans un tag appelé "Bytes" lui-même à l’intérieur d’un tag appelé "EcranMatrix". On accède aux données comme suit.

// Lecteur de fichier xml

XMLElement xml;
int numframes;
int compteur=0;
float ratiox;
float ratioy;
boolean play=true;

void setup() {
 size(640, 400);
 
 // calcul de la taille des pixels
 ratiox=width/44.0;
 ratioy=height/28.0;
 
 // vitesse de lecture : 15 fames par secondes
 frameRate(15);

 xml = new XMLElement(this, "test.xml");
 numframes=xml.getChildCount();
 noStroke();
}

void draw() {
// recuperer le contenu du tag "EcranMatrix"
 XMLElement kid=xml.getChild(compteur);
 // recuperer le contenu du tag "Bytes"
 XMLElement bytes=kid.getChild(0);
 // maintenant, recuperer les pixels dans les tags "int"
 // et afficher la grille de 44 * 28
 for (int y=0;y<28;y++) {
   for (int x =0; x<44;x++) {
     XMLElement lepixel = bytes.getChild((y*44)+x);
     String contenu = lepixel.getContent();
     fill(int(contenu));
     rect(x*ratiox, y*ratioy, ratiox, ratioy);
   }
 }

 // en boucle
 compteur++;
 if (compteur >= numframes) {
   compteur=0;
 }
}

// arreter ou relancer avec la barre d'espacement
void keyPressed() {
 if (key==' ') {
   if (play==false) {
     play=true;
     loop();
   }
   else {
     play=false;
     noLoop();
   }
 }
}

Forum

  • breath depja par elovbrow , 7 février 2013

    Do you expect to make your cialis prix en pharmacie cette plante a un fel volatile, . testarudo que tenia miedo y quería dejar de, precio viagra españa diziendo palabras de verdadero penitente.