DOMXML et les fils ...

Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 24 avril 2006 à 15:00
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 25 avril 2006 à 17:44
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

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 avril 2006 à 20:11
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>
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
25 avril 2006 à 11:01
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
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 avril 2006 à 17:44
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>
0
Rejoignez-nous