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 :

[XML] Analyser un gros fichier XML


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 38
    Points
    38
    Par défaut [XML] Analyser un gros fichier XML
    Bonjour,

    Je vous expose mon problème.

    Je dois lire un gros fichier XML de type

    <item value ="1>
    <item1 valuitem1 ="045">
    <item2 valuitem2 ="045">
    </item>

    En tout j'ai 14 000 nœuds <item>.

    Je me suis orienté vers une solution xml_parser, si j'ai bien compris c'est le seul qui me permettra lire en entier ce fichier.

    Ensuite, de chaque nœud <item> je doit récupérer la valeur des attributs de tous ses sous - nœuds pour les insérer dans une base de données.

    Déjà, une première question, est ce que la solution que j'ai choisi est la bonne, sinon il y a - t - il une alternative?

    Cordialement,
    Nooby.

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Pas trop le choix vu la taille du XML : tu peux oublier DOM, SimpleXML & cie, il faut une solution type SAX, ton choix est le bon
    Perso je passerais par XMLReader, plus symple à utiliser : http://fr.php.net/xmlreader
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 38
    Points
    38
    Par défaut
    Le problème avec XML reader c'est que ça passe pas non plus. J'ai déja testé, j'arrive lire els premiers 7 000 après c'est fini.

    Avec xml parse ce que je n'arrive pas a faire c'est de mettre un enregistrement dans la base de données, car je ne fait que lire ligne par ligne. J'arrive aps a récupérer le bloc <item> pour insérer mon enregistrement. Donc c'est pour cette raison que je pense me tourner vers autre chose, mais on dirait que j'ai plus le choix.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 38
    Points
    38
    Par défaut
    XML Reader, pourrait-il lire un fichier de plus de 7MO?

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 043
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 043
    Points : 8 075
    Points
    8 075
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par Nooby Voir le message
    Le problème avec XML reader c'est que ça passe pas non plus. J'ai déja testé, j'arrive lire els premiers 7 000 après c'est fini.
    Pb lié à la durée d'exécution ? Tu peux régler ça avec set_time_limit( ).

    XML Reader, pourrait-il lire un fichier de plus de 7MO?
    Oui bien sûr. Je pensais que ton fichier pesait bien plus. Pour 7 Mo tu peux utiliser SimpleXML, plus simple à utiliser.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 38
    Points
    38
    Par défaut
    Bonjour, merci de la réponse.

    Je me suis arrêtée sur XMLReader finalement.
    Et vi j'ai du mettre au début de mon script le set_time_limit(0);
    J'aimais pas cette solution mais finalement, comme je trouve rien d'autre alors...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Analyser gros fichier XML, enregistrement dans une table MySQL
    Par bunsky dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 20/12/2010, 15h49
  2. [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, 03h53
  3. Transformer un très gros fichier XML avec XSL
    Par wozzz dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 30/05/2006, 11h57
  4. [C#] [XML] Traitement de gros fichiers XML (90 Mo)
    Par Pulsahr dans le forum Windows Forms
    Réponses: 20
    Dernier message: 01/12/2005, 15h40
  5. XML DOM et gros fichiers
    Par Manu_Just dans le forum APIs
    Réponses: 4
    Dernier message: 28/03/2003, 10h50

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