Les Allergies
Alimentaires
Posez votre question Signaler

Découper fichier xml avec script php

Dargos - Dernière réponse le 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.
Lire la suite 

Découper fichier xml avec script php »

5 réponses
Réponse
+0
moins plus
Hello,
quelle version de php ?
Ajouter un commentaire
Réponse
+0
moins plus
ma version de php est la 4.3.3
si tu as besoin d'autres informations demande moi
Ajouter un commentaire
Réponse
+0
moins plus
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. :)
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « découper fichier xml avec script php » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?