bonjour! j'avais vu un exemple de code sur ce forum qui parcourait un fichier xml.
j'ai modifié le code et ça marche sur ma machine mais lorsque je teste sur mon serveur ça ne marche pas.
exemple de mon xml:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <?xml version="1.0" encoding="ISO-8859-1"?> <ServeurMySQL Nom="localhost"> <Date DateModif="02-12-2008"/> <BaseDeDonnee nom='daobruno'> <Table nom="connectes"> <Champ nom="ip" type="varchar(15)" null="NO" cle="" valeurDefaut="" autoincrementation="NO"/> <Champ nom="timestamp" type="bigint(8)" null="YES" cle="" valeurDefaut="88" autoincrementation="NO"/> </Table> <Table nom="test"> <Champ nom="id" type="int(11)" null="NO" cle="PRI" valeurDefaut="" autoincrementation="YES"/> <Champ nom="a" type="int(8)" null="YES" cle="" valeurDefaut="8" autoincrementation="NO"/> <Champ nom="azer" type="varchar(5)" null="NO" cle="" valeurDefaut="a" autoincrementation="NO"/> <Champ nom="testunique" type="varchar(6)" null="NO" cle="UNI" valeurDefaut="" autoincrementation="NO"/> <Champ nom="kjh" type="varchar(7)" null="NO" cle="MUL" valeurDefaut="" autoincrementation="NO"/> </Table> </BaseDeDonnee> </ServeurMySQL>
en fait lorsque la fonction croise "/" il arrête de lire le fichier. ici il arrêtera de lire le fichier a partir de la balise <Date.. />
je ne sais vraimemt pas pourquoi. et pourtant il marche sur moi ma machine
voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 <?php function lire_fichier_xml() { // on charge le fichier xml $xml = simplexml_load_file("export_my_sql_xml2.xml"); // On appelle la fonction récursive recursivite($xml); } /***************************************/ function recursivite($racine) { // Pour chaque item, on récupere le nom et l'objet SimpleXML de la balise foreach($racine as $nom=>$elem) { // On vérifie qu'il y a un noeud enfant //echo $racine; if(trim($elem) == "") { // si oui... $enfants = $elem->children(); // on récupere les attributs s'ils sont présents $attributs = $elem->attributes(); $NomTable=$attributs; if(trim($attributs) != "") { $count=1; if ($nom=="Table") { $GLOBALS['nom_table']=$attributs; } foreach($attributs as $index=>$contenu) { if ($nom=="Table") { ajoute_table('localhost','root','','bdtest',$contenu); } $description[$count]=$contenu; $count++; } } if (isset($description[2]) && $description[2]!="") { $info_champ = array($description[1],$description[2],$description[3],$description[4],$description[5],$description[6]); $nom_table_param2=$GLOBALS['nom_table']; ajoute_champ('localhost','root','','bdtest',$nom_table_param2,$info_champ); modifie_attribut('localhost','root','','bdtest',$nom_table_param2,$info_champ); } // comme on a un enfant, on réappelle la fonction recursivite($enfants); } } } ?>
Partager