Découper fichier xml avec script php

Fermé
Dargos - 10 avril 2006 à 11:56
dargos Messages postés 3 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 10 avril 2006 - 10 avril 2006 à 15:13
Bonjour je désire découpé mon fichier xml qui est de la forme :
<xml...>
<list>
<p id="45"><img>kkk</img><property>gfdf</property></p>
<p id="76"><img>lll</img><property>lkjh</property></p>
etc ...
</list>

voila pour cela je ne sais pas si je dois utiliser plutot preg_split ou split
j'ai essayé ce bout de code :
$file="refrance.xml";
$myFile=fopen($file,"r+");
$content=fread($myFile,filesize($file));
$tab=split('#<p id=\"[0-9]*\">(.*)</p>#', $content);

echo "<pre>";
print_r($tab);
echo "</pre>";

fclose($myFile);
?>


Je vous explique ce que je veux obtenir, je désire avoir un tableau associatif de type
$tab[45]= <xml...><img>kkk</img><property>gfdf</property>
$tab[76]=<xml...><img>....</property>

Donc je voulais découper le fichier xml car il est beaucoup trop gros pour le faire à la main
Merci de votre aide.
A voir également:

5 réponses

Utilisateur anonyme
10 avril 2006 à 13:24
Hello,
quelle version de php ?
0
dargos Messages postés 3 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 10 avril 2006
10 avril 2006 à 13:40
ma version de php est la 4.3.3
si tu as besoin d'autres informations demande moi
0
Utilisateur anonyme
10 avril 2006 à 13:49
Dommage, la version 5 de php intègre des fonctions de parsing XML natives qui rendent le traitement super leger.

Maintenant, c'est quoi exactement ton problème ? Parce que la, tu commencais plutot bien. :)
0
dargos Messages postés 3 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 10 avril 2006
10 avril 2006 à 14:02
Je sais que le php5 est bien plus simple mais bon on fait avec les moyen du bord lol

Voila le probleme c'est quand je lance mon script,il me passe tout mon fichier xml dans le tableau à l'indice 0
Les autres indices du tableau sont vide,je ne sais pas trop comment fonctionne preg_split
J'ai l'impression qu'il ne s'arrete pas a la balise </p>,en gros il decoupe rien du tout.
Peut etre que mon expression reguliere n'est pas correct.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dargos Messages postés 3 Date d'inscription lundi 10 avril 2006 Statut Membre Dernière intervention 10 avril 2006
10 avril 2006 à 15:13
Je pense que le probleme vient du delimitateur, il ne le prend pas, c'est le (.*) le probleme

Je viens de tester avec ce bout de code :
$tab=split('<p id=', $content);


j'obtient un tableau avec
$tab[0]="45"><img>mjk</img><property>ljk</property></p>
$tab[1]="73"><img>ghf</img><property>kh</property></p>
etc...
c'est pas tout a fait ce que je veux mais on s'en rapproche
l'expression reguliere doit etre encore modifié je pense
0