diff --git a/src/ClassesXML.c b/src/ClassesXML.c
new file mode 100644
index 0000000000000000000000000000000000000000..6d500f9d4f2968d512a869e43d20fb706770c891
--- /dev/null
+++ b/src/ClassesXML.c
@@ -0,0 +1,62 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <roxml.h>
+
+int startClassesXML();
+
+int startClassesXML(){
+    printf("ClassesXML demarre !\n");
+
+
+    char *id_text, *name_text, *PV_text, *PM_text, *MV_text, *DESC_text;
+
+
+    typedef struct mapping_t{
+    int nombre_elements;
+    char ensemble[10];
+    }mapping_t;
+
+
+
+    int i = 0;
+
+    mapping_t map1;
+    map1.nombre_elements=5;
+
+    node_t *root, *Classes, *Classe, *Skills, *ID, *NAME, *PV, *PM, *MV, *DESC;
+
+
+
+
+
+    root = roxml_load_doc("Classes.xml");
+    Classes = roxml_get_chld(root, NULL, 0);
+    Classe = roxml_get_chld(Classes, NULL, 0);
+
+    for(i=0; i<map1.nombre_elements; i++)
+    {
+
+    ID = roxml_get_attr(Classe, "id", 0);
+    NAME = roxml_get_attr(Classe, "name", 0);
+    PV = roxml_get_attr(Classe, "PV", 0);
+    PM = roxml_get_attr(Classe, "PM", 0);
+    MV = roxml_get_attr(Classe, "MV", 0);
+    DESC = roxml_get_attr(Classe, "Desc", 0);
+
+    }
+
+    id_text = roxml_get_content(ID, NULL, 0, NULL);
+    name_text = roxml_get_content(NAME, NULL, 0, NULL);
+    PV_text = roxml_get_content(PV, NULL, 0, NULL);
+    PM_text = roxml_get_content(PM, NULL, 0, NULL);
+    MV_text = roxml_get_content(MV, NULL, 0, NULL);
+    DESC_text = roxml_get_content(DESC, NULL, 0, NULL);
+
+    printf("L'id est : %s\n", id_text);
+    printf("Le nom est : %s\n", name_text);
+    printf("Le nombre de PV est : %s\n", PV_text);
+    printf("Le nombre de PM est : %s\n", PM_text);
+    printf("Le nombre MV est : %s\n", MV_text);
+    printf("La description est : %s\n", DESC_text);
+
+}