IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Parsage de gros fichier


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut [SimpleXML] Parsage de gros fichier
    Bonjour,

    Je souhaite parser une fichier xml via SimpleXml mais je rencontre un soucis au niveau du nom des balises.
    Le xml que l'on me fournit à cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <adresses>
    <adresse>
    <une-id>1</une-id>
    <url-1>http://www.google1.fr</url-1>
    <url-2>http://www.google2.fr</url-2>
    <url-3>http://www.google3.fr</url-3>
    </adresse>
    ...
    </adresses>
    Ce n'est pas moi qui suis à l'origine de ce XMl , je ne peut donc pas intervenir sur sa struture.

    J'essai de parser ce fichier avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $xml = simplexml_load_file('ex.xml');
    foreach($xml->adresse as $noeud)
    {
    	if($noeud->une-id[0] == 1)
    	{
    		echo $noeud->url-2[0];
    	}
    }
    Mais ca plante lamentablement a cause du "-" dan le nom des balises. J'ai fait un test en remplacant avec des "_" et ca marche très bien. Certainement une erreur de syntaxe de ma part puisque PHP interprète le - comme un moins et non pas comme une partie du nom de la balise.

    Comment puis je régler ce problème ?

    Mon autre problème est que ce fichier xml est assez volumineux (5mo) et est amené à grossir de plus en plus.
    Du coup ma méthode de recherche est complètement dépasser et si je recherche "une-id" avec une valeur très grande je me retrouve avec des temps de génération assez conséquent
    Y'a t'il une méthode de recherche simple et efficace me permettant de trouver la valeur désirée pour la balise "une-id" et afficher l'url correspondant à cette id ?

    Je précise que je débute avec XML , j'ai donc peut être loupé quelques choses d'essentiel au niveau de la recherche.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Points : 1 504
    Points
    1 504
    Par défaut
    Bonjour,

    Pour ton problème de nommage, essaie peut être avec:

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Yes merci mon druide préféré :p , elle m'était complètement sortit de la tête cette notation ^^.

    Par contre , reste le problème du temsp de recherche qui est un peu longet à mon gout.
    Je tourne autour de 0.6sec ce qui va pas aller en s'améliorant avec le temps.
    Si vous avez une idée

Discussions similaires

  1. [SimpleXML] Analyser un très gros fichier XML
    Par Paulux1 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 20/02/2008, 02h53
  2. [SimpleXML] Parser de gros fichiers
    Par Bobtop dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 03/11/2006, 16h23
  3. [PHP5/simpleXML] Gros Fichiers
    Par vanilla dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 26/06/2006, 19h40
  4. Un langage pour lire, traiter et écrire de gros fichiers
    Par March' dans le forum Langages de programmation
    Réponses: 19
    Dernier message: 07/04/2003, 15h26
  5. XML DOM et gros fichiers
    Par Manu_Just dans le forum APIs
    Réponses: 4
    Dernier message: 28/03/2003, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo