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".

Précédent | 18/27 | Suivant

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.