DOMXML et les fils ...

Signaler
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonjour !

Voila j ai eu un petit soucis et j ai trouvé une solution mais ... elle est vraiment pas jolie jolie ^^

Alors voila ... qd je fais un get_content du tagname "day" et je recupere les value des fils du noeud ...

Voici le xml

<?xml version= "1.0"?>



<day
id="01">01/02/06 1 23</day>

<day
id ="02">02/02/06456</day>





et donc quand je fais ce get_content il me renvoit:

01/02/06123

et

02/02/06456



Les 3dernieres valeurs étant les value des fils du noeud day


Pour rattraper le mauvais tir je fais un sbstr mais c'est assez peu élégent ...

Qqun a t il eu le meme probleme et l'a t il résolu d'un manière plus .... significative ? ^^

Merci beaucoup !!!

-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie

3 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

faudrait nous montrer ton code, histoire qu'on puisse regarder comment tu t'y prends :-)

a +

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
Ok avec plaisir ^^

Voici le code qui traite les fichiers xml...

$array_of_files est un array qui resence tous les fichiers xml d'un dossier.

Merci de ne pas tenir compte du code html car les balises
servent juste a y voir plus clair lors d'un debug.





function LoadXMLFiles($directory,$array_of_files){

$array_of_result=array();

$iIndex_Array_Result=0;

for($iArray=0;$iArray<count($array_of_files);$iArray++){

echo $location=$directory.$array_of_files[$iArray];

echo "
";

echo $iArray;

echo "
";

if(!$dom = domxml_open_file($location)){

exit('Erreur lors de l\'analyse du document');

}

else{

$days = $dom->get_elements_by_tagname("day");

$id_works = $dom->get_elements_by_tagname("id_work");

$id_plages = $dom->get_elements_by_tagname("id_plage");

$id_postes = $dom->get_elements_by_tagname("id_poste");

for($iArrayObject=0;$iArrayObject<count($days);$iArrayObject++){

$day=$days[$iArrayObject]->get_content();

echo $day=substr($day,0,10);

echo "
";

echo $id_work=$id_works[$iArrayObject]->get_content();

echo "
";

echo $id_plage=$id_plages[$iArrayObject]->get_content();

echo "
";

echo $id_poste=$id_postes[$iArrayObject]->get_content();

echo "
";

$array_of_result[$iArray][$iArrayObject]=array($day,$id_work,$id_plage,$id_poste);

}

}

}

return $array_of_result;

}

-------------------------------------------------------------------------------------------------------

Il vaut mieux poser une question et passer pour bête que le rester
toute sa vie
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Tu veux pas rajouter une balise genre <date> plutôt ? (car je ne vois pas d'autre solution)

<day id= "01">
<date>01/02/06</date>
1
2
3
</day>

et hop tu parses ton fichier.
<hr size ="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>