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

Flash Discussion :

Travailler avec un fichier XML de grande taille


Sujet :

Flash

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut Travailler avec un fichier XML de grande taille
    Bonjour,

    Je voudrais vous demander votre avis
    Je dois developper une application qui va aller puiser ses donnees dans un fichier XML assez gros (25Mo)
    Le nombre de données récupéres est de l'ordre de plus ou moins 12.000

    En faisant des premiers test je me rend compte que la mémoire s'envole rapidement pour arriver a 200Mo !

    Quel est donc d'apres vous la tactique à adopter pour manipuler de telles donnés?

    1) Pourquoi, alors que le fichier XML fait 25Mo et que j'en utilise que 1/5...la mémoire nécessaire est de 200Mo

    2) N'y a t'il pas moyen de charger les données au fur et a mesure de leur besoin, sans charger l'entiereté?

    3) En gros, comment faire pour bien faire (en sachant que la destination sera un fichier Projector qui doit donc tourner sans serveur de quelque sorte)


    D'avance je vous remercie beaucoup!!

  2. #2
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 856
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 856
    Points : 6 114
    Points
    6 114
    Par défaut
    1. Les 200Mo, c'est les objets en mémoire, ton flash player, et c'est aussi la version compilé pour le flash player qui apporte des modifes, bref ya plein de choses. Vérifie quant meme que tu n'a pas un truc qui boucle pour rien et qui augmente la mémoire.
    2. Meme si tu réussi a charger petit bout par petit bout, au final, tu a besoin de toutes les infos ? non? donc il y a un moment ou le xml sera completement en mémoire.
    3. Je ne veux pas te dire de bétise, je n'ai jamais eu le cas

  3. #3
    Inactif Avatar de CR_Gio
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 195
    Points : 1 186
    Points
    1 186
    Par défaut
    Voici un exemple ....

    J'ai une animation flash qui correspond au tout au point a Exploreur. ( haaarf... je l'ai dit )
    pour afficher l'arborescence, j'utilise un fichier xml
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <dossier name="work1" ........ />
    <dossier name="work2" ........ >
       <fichier name="disco.mp3" />
       <fichier name="musique.mp3" />
    </dossier>
    tu imagine qu'au bout d'un moment le fichier XML va faire son poid

    Voici l'idé que j'ai u en lisant ce poste (merci au passage par ce que je fessait comme toi au debut ... j'y suis encore dans le debut )

    Il faudrai changer la structure du xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <dossier name="work1" ........ />
    <dossier name="work2" ........  include="work1.xml">
    Code work1.xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        <fichier name="disco.mp3" />
        <fichier name="musique.mp3" />

    Ainssi j'ai divisé mon xml en plusieur petit xml
    ____________
    J'ai des idées sur tout,
    ..... j'ai surtout des idée

    _____________
    Heureusement que j'ai lu se poste : sinon je me serai bien planté : merci Jayme65.

  4. #4
    Membre actif Avatar de younes_
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 229
    Points : 265
    Points
    265
    Par défaut
    Salut,
    Il est préférable d'utilise une base de donnée plutôt q'un fichier xml dans le cas ou les données sont conséquant de telle maniére maniére qu'on exporte avec des requettes SQL que les informations qu'on a as besoin.
    Avec Flash, un langage coté serveur est requis pour pouvoir intéroger une BDD distante, comme PHP par exemple, les informtions renvoyées pas les requettes SQL peuvent être transcrites vers en xml avant d'être renvoyer à Flash...

    a+
    ------------------------
    Website Interactive Object

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par younes_
    Salut,
    Il est préférable d'utilise une base de donnée plutôt q'un fichier xml dans le cas ou les données sont conséquant de telle maniére maniére qu'on exporte avec des requettes SQL que les informations qu'on a as besoin.
    Avec Flash, un langage coté serveur est requis pour pouvoir intéroger une BDD distante, comme PHP par exemple, les informtions renvoyées pas les requettes SQL peuvent être transcrites vers en xml avant d'être renvoyer à Flash...

    a+
    Merci a tous déja pour vos éléments de réponse!!

    Younes_,
    Donc, dans le cas d'une application indépendante (ce sera un projector)...tu veux dire qu'il n'y a pas d'autre possibilité?
    Est-il envisageable "d'interroger" le fichier XML au fur et a mesure, d'y prendre uniquement ce dont on a besoin, de remplir un array puis de décharger le XML? et ainsi de suite?
    (de la meme facon q'un disque lit des donnees au fur et a mesure sans s'encombrer de tout le contenu du disque)

    Ou plutot (puisqu'il y a peu de chance qu'on ne puisse charger qu'une portion de XML) charger tout, le sauver dans un fichier qui lui meme sera interrogé par la suite (avec l'avantage qu'on aura pu trier au prealable les donnees du fichier XML)


    D'avance merci pour la suite ;-)

  6. #6
    Membre actif Avatar de younes_
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    229
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 229
    Points : 265
    Points
    265
    Par défaut
    Citation Envoyé par Jayme65
    Merci a tous déja pour vos éléments de réponse!!

    Younes_,
    Donc, dans le cas d'une application indépendante (ce sera un projector)...tu veux dire qu'il n'y a pas d'autre possibilité?
    Pour les applications en projecteur, on peut utiliser Screenweaver qui permet d'intéroger une base de donnée access via un script JS sous windows, il y a un exemple sur la doc içi http://screenweaver.org/documentatio...lp/swhelp.html
    Citation Envoyé par Jayme65
    Est-il envisageable "d'interroger" le fichier XML au fur et a mesure, d'y prendre uniquement ce dont on a besoin, de remplir un array puis de décharger le XML? et ainsi de suite?
    (de la meme facon q'un disque lit des donnees au fur et a mesure sans s'encombrer de tout le contenu du disque)

    Ou plutot (puisqu'il y a peu de chance qu'on ne puisse charger qu'une portion de XML) charger tout, le sauver dans un fichier qui lui meme sera interrogé par la suite (avec l'avantage qu'on aura pu trier au prealable les donnees du fichier XML)
    Normalement, Flash player a besoin de lire tout le fichier xml pour le valider, donc on peut pas avoir un accés direct au données sans l'avoir totalement charger. Il me semble qu'avec Actionscript 3 il y a de nouveau mécanisme de lecture de fichier xml mais je suis pas sur que ça facilite le chargement des gros fichiers xml...

    a+
    ------------------------
    Website Interactive Object

  7. #7
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    bonjour à tous,
    si je puis me permettre de faire un "+1"
    personnellement j'utilise aussi l'idée de CR_Gio. J'ai de gros fichiers XML (repésentant des infos cartographiques) avec des rechargements automatiques. Dans un premier temps je structure l'ensemble de mes infos de manières fonctionnel (logique) en plusieurs fichiers XML (le plus petit possible)et je décris la logique fonctionnelle dans un fichier XML dédié à cela.
    Bien sur c'est plus compliqué mais il me semble que ça reste le plus efficace.
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  8. #8
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Je ne connais pas flash mais il y a deux sortes de parseur XML
    DOM qui transforme TOUT le fichier XML en objet et prend donc pas mal de place memoire (mais apres il permet de modifier ce fichier)
    SAX qui est un parseurevenementiel qui ne charge pas le fichier en memoire mais le lit morceau par morceau.On l'utilise pour la lecture de gros volume XML

    Ton problème vient que tu utilise le DOM, il faudrait voir si pour flash il existerait une implementation de SAX ce qui resoudrait sans doute tes pb de lecture.
    plus de detail : http://xml.developpez.com/faq/?page=1#xml_parseur

  9. #9
    Membre émérite Avatar de dom_dev
    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 073
    Points : 2 338
    Points
    2 338
    Par défaut
    Un parseur SAX gratuit dans flash ???? JE LE VEUX!!!!
    A ma connaissance on ne peut même pas parler de DTD dans action script, si le fichier à la moindre imperfection ça plante tout!!!
    remarque, peut être que je ne sais pas tout.
    Si la ou les réponses obtenues vous ont donné satisfaction n'oublier pas ->
    Et ne rajoutez pas de nouvelles questions éternellement dans le même post surtout si vous en n'êtes pas l'auteur
    MERCI

  10. #10
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Comme deja dit pas mon domaine mais a voir
    http://www.formation.unilog.fr/2005/pdf/15058.pdf

Discussions similaires

  1. Parser fichier XML de grande taille
    Par HackerNet dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 09/08/2013, 14h36
  2. Analyser des fichiers XML de grande taille
    Par kanzarih dans le forum Langage
    Réponses: 6
    Dernier message: 14/06/2010, 20h14
  3. [xml][asp_vbscript] Taille de fichier XML trop grande...
    Par nicko5959 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/03/2006, 11h50
  4. [C#] Remplire un comboBox avec un fichier XML
    Par Roach dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/09/2005, 20h45
  5. Optimiser l'affichage d'un fichier XML de grosse taille...
    Par UnPeuPerdu dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 03/06/2004, 16h01

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