begin process at 2012 02 12 10:00:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Probleme avec un parser XML vers PHP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec un parser XML vers PHP

lundi 15 août 2005 à 21:22:49 | Probleme avec un parser XML vers PHP

foliop

Salut j'utilise ce script pour afficher un flux XML en php : Code : function GetXMLTree ($xmldata) { ini_set ('track_errors', '0'); $xmlreaderror = false; $parser = xml_parser_create ('ISO-8859-1'); xml_parser_set_option ($parser, XML_OPTION_SKIP_WHITE, 1); xml_parser_set_option ($parser, XML_OPTION_CASE_FOLDING, 0); if (!xml_parse_into_struct ($parser, $xmldata, $vals, $index)) { $xmlreaderror = true; echo "error"; } xml_parser_free ($parser); if (!$xmlreaderror) { $result = array (); $i = 0; if (isset ($vals [$i]['attributes'])) foreach (array_keys ($vals [$i]['attributes']) as $attkey) $attributes [$attkey] = $vals [$i]['attributes'][$attkey]; $result [$vals [$i]['tag']] = array_merge ($attributes, GetChildren ($vals, $i, 'open')); } ini_set ('track_errors', '0'); return $result; } function GetChildren ($vals, &$i, $type) { if ($type == 'complete') { if (isset ($vals [$i]['value'])) return ($vals [$i]['value']); else return ''; } $children = array (); while ($vals [++$i]['type'] != 'close') { $type = $vals [$i]['type']; if (isset ($children [$vals [$i]['tag']])) { if (is_array ($children [$vals [$i]['tag']])) { $temp = array_keys ($children [$vals [$i]['tag']]); if (is_string ($temp [0])) { $a = $children [$vals [$i]['tag']]; unset ($children [$vals [$i]['tag']]); $children [$vals [$i]['tag']][0] = $a; } } else { $a = $children [$vals [$i]['tag']]; unset ($children [$vals [$i]['tag']]); $children [$vals [$i]['tag']][0] = $a; } $children [$vals [$i]['tag']][] = GetChildren ($vals, $i, $type); } else $children [$vals [$i]['tag']] = GetChildren ($vals, $i, $type); if (isset ($vals [$i]['attributes'])) { $attributes = array (); foreach (array_keys ($vals [$i]['attributes']) as $attkey) $attributes [$attkey] = $vals [$i]['attributes'][$attkey]; if (isset ($children [$vals [$i]['tag']])) { if ($children [$vals [$i]['tag']] == '') { unset ($children [$vals [$i]['tag']]); $children [$vals [$i]['tag']] = $attributes; } elseif (is_array ($children [$vals [$i]['tag']])) { $index = count ($children [$vals [$i]['tag']]) - 1; if ($children [$vals [$i]['tag']][$index] == '') { unset ($children [$vals [$i]['tag']][$index]); $children [$vals [$i]['tag']][$index] = $attributes; } $children [$vals [$i]['tag']][$index] = array_merge ($children [$vals [$i]['tag']][$index], $attributes); } else { $value = $children [$vals [$i]['tag']]; unset ($children [$vals [$i]['tag']]); $children [$vals [$i]['tag']]['value'] = $value; $children [$vals [$i]['tag']] = array_merge ($children [$vals [$i]['tag']], $attributes); } } else $children [$vals [$i]['tag']] = $attributes; } } return $children; } // URL du flux xml $url = "info.xml"; $contents = file_get_contents($url); $data = GetXMLTree ($contents); print_r($data); Celui ci marche sans probleme quand le fichier est pas trop gros seulement si mon fichier XML fait 40mo ca ne marche pas je lance le script mais rien; page blanche si qqun peut m'aider
lundi 15 août 2005 à 21:29:22 | Re : Probleme avec un parser XML vers PHP

GRenard

soit que le temps limite a été dépassé donc mettre set_time_limit(0) mais ca métonnerait parce que tu devrais avoir une limite.
soit que ton fichier est trop gros pour l'espace alloué en mémoire
soit que php plante
soit que je sais pas :)

Je ne te donne pas de solution mais des constatation, essaie au moins la première.
display_errors est-il à on ? et error_reporting à E_ALL ?

Cherchez, Essayez et Testez avant de Poser une question !
[ Lien ]
lundi 15 août 2005 à 21:33:49 | Re : Probleme avec un parser XML vers PHP

foliop

VOici l'erreur que j'ai : Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 40564120 bytes) in /home/httpd/vhosts/synetik.net/httpdocs/xml/xml-template.php on line 102
lundi 15 août 2005 à 21:39:15 | Re : Probleme avec un parser XML vers PHP

GRenard

ma 2e réponse était la bonne... tu as atteint le maximum alloué par PHP.
Soit tu augmente le memory limit ou soit que tu parse un plus petit fichier.


Cherchez, Essayez et Testez avant de Poser une question !
[ Lien ]
lundi 15 août 2005 à 21:40:14 | Re : Probleme avec un parser XML vers PHP

foliop

Ou puis je augmenter le memory limit ? et ou dois je le changer ? Merci en tout cas
lundi 15 août 2005 à 21:44:06 | Re : Probleme avec un parser XML vers PHP

GRenard

dans le php.ini
elle est par défaut à 8M
Mais tu ne peux pas la changer sur aucun hébergeur normalement, ni payant ni gratuit... Chez toi tu peux très bien par contre :)


Cherchez, Essayez et Testez avant de Poser une question !
[ Lien ]
lundi 15 août 2005 à 21:46:31 | Re : Probleme avec un parser XML vers PHP

foliop

J'ai un serveur dédié J'ai changé cette valeur sur plusieurs niveaux et meme arrivé a 128M ca ne change rien au soucis ! J'ai 256mo de Ram sur mon dédié je peux pousser a combien sans altérer le serveur et la BP ps : ce script ne tournera qu'une seule fois
lundi 15 août 2005 à 21:49:30 | Re : Probleme avec un parser XML vers PHP

GRenard

Ca a pas rapport avec la bande passante.
C'est l'utilisation de la mémoire interne pour PHP...
Si le script ne tourne qu'une seule fois, mets le haut et remets le bas après...

Si ca a répondu à ta question choisis les réponses à accepter


Cherchez, Essayez et Testez avant de Poser une question !
[ Lien ]
lundi 15 août 2005 à 21:51:24 | Re : Probleme avec un parser XML vers PHP

foliop

Oui ca a repondu Une seule question encore : jusqua combien je peux le mettre ?
lundi 15 août 2005 à 22:11:10 | Re : Probleme avec un parser XML vers PHP

GRenard

Réponse acceptée !
Bah je ne sais pas d'où il prend sa mémoire mais mets le plus grand que ton fichier que tu souhaite ouvrir.


Cherchez, Essayez et Testez avant de Poser une question !
[ Lien ]

1 2

Cette discussion est classée dans : tag, xml, attributes, vals, children


Répondre à ce message

Sujets en rapport avec ce message

XML -> Array -> SQL [ par GMo888 ] Bonjour à tous,D'abod, un tout grand merci à la communauté de ce site pour les préciseuses informations ! :-)Après de multiple recherche, j'en arrive Flux WEBRANKINFO [ par malik7934 ] Hello,Aujourd'hui j'ai fait la douloureuse decouverte que je ne pouvais pas utiliser simple xml sur mon site.... je me suis donc empresse de demander Problème parser XML avec SAX [ par shadowfox666 ] Bonjour,Je suis actuellement en train de réaliser un parser XML fonctionnant avec SAX pour gérer de l'évènementiel.Le fichier XML fait plus de 70mega Recenser des données par leur tag [ par Neme6 ] Bonjour a tous,   Je souhaiterais faire un moteur de recherche qui recenserait des vidéos sur un site "tube" comme dailymotion ou autres.En l'occurren [ => PHP] Générer un fichier xml en php [ par massbbc ] salu je voudrais savoir comment générer un fichier xml  à partir d'une base donnée mysql en php.Merci flux rss [ par younes777 ] Bonjour,J'ai un probleme d'affichage,mon flux rss s'affiche comme :Actuellement, les usagers sont indemnisés en bons-voyages.<img width='1' height='1 du php dans le xml [ par alain732 ] Bonjour,J'ai un souci entre le php et le xml.Voici le code que j'aimerai modifier pour pouvoir aller chercher les informations dans une base MYSQL.Le syntax error, unexpected T_STRING, expecting ')' in ... [ par votreecom ] Bonjour,ceci est mon promier message sur ce forum!J'ai l'erreur qui apparait à la ligne 49 de mon script php-xml:Parse error: syntax error, unexpected SPL & RecursiveIteratorIterator : Afficher les infos (XML) [ par JoJo738 ] Bonsoir à tous ^^Voila déjà un petit moment que je n'étais pas venu.Si ce soir (ou plutôt, ce matin) je suis ici, c'est pour une question qui me turlu aide svp php, xml et csl [ par mounaatallah ] bonjour à tout le monde,je suis debutant en xmlj'ai fais un fichier xml qui contient tous les données comme ceci           ESC


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales