28/10/2014

parsing d'un fichier mm de Freemind avec Processing

XML xml;
XML xml_mm;
int indent=0;
ArrayList liens;
ArrayList lien;
void setup() {

  //MM VERS RDF
  xml_mm = loadXML("Smag0versrdf.mm");
  //noeud principal
  XML child_mm = xml_mm.getChild("node");
  String ID_centre = child_mm.getString("ID");
  String texte_centre = child_mm.getString("TEXT");
  // String contenu = children_mm[i].getContent();
  println("Noeud central : "+ID_centre + ", " + texte_centre + ", ");

  list_node_rec( child_mm);
}

void list_node_rec(XML _noeud) {
  //branches racines
//println (indent);
  if (_noeud.hasChildren()) {
   
    XML[] children_mm_branches = _noeud.getChildren("node");
        print(children_mm_branches.length);
   // String indentation=calcul_indentation(indent);
    for (int i = 0; i < children_mm_branches.length; i++) {
      indent++;
      XML nouveauNoeud=children_mm_branches[i];
      String ID = nouveauNoeud.getString("ID");
      String texte = nouveauNoeud.getString("TEXT");
     // liens.add(new Lien());
   //  lien.add(_noeud.getString("ID"));
    // lien.add(ID);
    // liens.add(lien);
      // String contenu = children_mm[i].getContent();
     // print(indentation);
            println("");
            print(indent);
     for (int h=0; h< indent+1; h++){

       print(" ");}
      print(ID + ", " + texte + ", ");
      list_node_rec(nouveauNoeud );
      indent--;
      //print("\n");
    }
  }
}
String calcul_indentation(int indent) {​​
  String indentationTemp="";
  for (int j=1; j<indent; j++) {
    indentationTemp+="    ";
  }

  return indentationTemp;
}


le fichier Smag0versrdf.mm peut être vu /modifié grace à l'application Freemind

Aucun commentaire:

Enregistrer un commentaire