Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : XmlDocument + memoire insuffisante [ Divers / Aide et documentation ] (Jordan59)

lundi 15 septembre 2008 à 12:38:52 | XmlDocument + memoire insuffisante

Jordan59

Bonjour à tous,

Je rencontre un souci pour générer un fichier XML au boulot à l'aide du composant XmlDocument.

Cela fonctionne quand il n'y a pas trop de données, mais parfois, je récupère énormément d'enregistrements dans la base au point que 2 Go de ram sont bouffés par mon application. Et arrivé à un certain stade, j'obtiens le message d'erreur : "Memoire insuffisante".

Je souhaiterai donc enregistrer sur le disque plusieurs fois au cours de la génération XML les données afin d'utiliser moins de RAM mais je ne sais pas comment m'y prendre !

Quelqu'un pourrait m'aider ?

lundi 15 septembre 2008 à 13:28:59 | Re : XmlDocument + memoire insuffisante

WhiteHippo

Membre Club

Bonjour

Il faut savoir que le XMLDocument crée une réprésentation en mémoire du fichier XML (par l'appel de la fonction load), c'est à dire que la taille utilisée peut être beaucoup plus grande que celle nécessaire pour stocker la totalité du fichier en mémoire. Pour cette raison, il est préférable de ne pas utiliser ce composant pour des fichiers XML de très grande taille.

Cordialement.


"L'imagination est plus importante que le savoir." Albert Einstein


lundi 15 septembre 2008 à 13:52:48 | Re : XmlDocument + memoire insuffisante

Jordan59

Que puis-je utiliser d'autre alors ?


lundi 15 septembre 2008 à 14:11:40 | Re : XmlDocument + memoire insuffisante

WhiteHippo

Membre Club
Tu peux regarder, par exemple, du côté de XMLReader, XMLWriter (pas de chargement de l'ensemble du fichier XML en mémoire) Il te faudra alors revoir la façon de gérer tes XML...

P.S. Il existe de nombreux parser XML pour Delphi, certains gratuits, d'autres non (tout dépend de ton budget et niveau) facilement trouvable sous Google.

Cordialement.

"L'imagination est plus importante que le savoir." Albert Einstein



Cette discussion est classé dans : données, xml, memoire, insuffisante, xmldocument


Répondre à ce message

Sujets en rapport avec ce message

Expert de liaison de données XML activation [ par jfdeterme ] Bonjour,Alors voila depuis 2h je cherche comment avoir accès à l'expert de liaison de données XML.J'ai cherché sur delphifr et je n'ai rien trouver à DATASET -> XML [ par stailer ] Salut,Dans PHPMyadmin pour ceux qui connaissent, on peut exporter les données au format XML. Ensuite dans Delphi on peut se lier à ce fichier XML et m securité [ par sidalilo ] salut a tous...je developpe par delphi et j'ai une  base de données xml comment securiser cette base de données( xml).j'ai des fichiers xml dans un do acquisition de données par liaison gpib [ par thieul ] Bonjour,Je voudrais avoir un coup de main sur la programmation en delphi5 de l'acquistion de données par une liaison gpib.Je me sers d'un appareil de Liste XML [ par l0sth34d2 ] Bonjour à tous!J'ai un petit problème ici avec la lecture d'un fichier XML dont le format me cause problème. En fait, il n'est pas fait comme les autr Placer des données d'un TFileStream dans un TMemoryStream [ par christophedlr ] Bonsoir, Je voudrais dans mon programme, lire un fichier don les données que le lis sont transféré vers un TMemoryStream afin de pouvoir les placer e Passer des objets à une DLL [ par christophedlr ] Bonsoir, A la suite du problème que j'avais ici : http://www.delphifr.com/infomsg_PLACER-DONNEES-TFILESTREAM-DANS-TMEMORYSTREAM_1178462.aspx J'ai un sql et xml [ par sidalilo ] salut je travail par xml et je veux analyser une requete sql sur fichier xmlest ce que c possible ou pas je veux une bonne reponse merci de votre atte [newbie] Comment mettre à jour les données d'un DBgrid? [ par fredtheman ] BonjourJ'utilise le wrapper de type BDE de Aducom pour accéder à une base SQLite, et j'aimerais utiliser un DBgrid pour afficher les données avec un T


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.