Article View: fr.comp.text.xml
Article #8726Re: DOM et SAX
From: Alain Ketterlin
Date: Tue, 21 Aug 2001 12:36
Date: Tue, 21 Aug 2001 12:36
38 lines
2820 bytes
2820 bytes
"Johan MOREAU" <Johan-Moreau@laposte.net> writes: > Je d�sire cr�er et pouvoir relire des fichiers aux formats XML. Je travaille > en C++ sous VISUAL. > Je d�sire "s�rialiser" mes objets que j'ai en m�moire (list, vector de la > stl contenant des entiers, float et autres string). > Dans un but d'ouverture, je souhaite faire cette "s�rialisation" en XML. > Dans ce but j'ai r�cup�rer Xerces (Apache). Mais je me confronte � un > probl�me. Il me semble que je peux r�aliser mon outils soit avec DOM soit > avec SAX. Le probl�me c'est que je n'arrive pas � voir la diff�rence entre > les 2... En general, SAX et DOM sont utilises plutot pour aller dans l'autre sens (du document vers la memoire). Mais j'imagine que tu auras besoin de cela aussi. La difference majeure entre les deux est que DOM construit une image en memiore du document complet avant d'y donner acces. C'est pratique pour des acces aleatoires, mais ca occupe pas mal de memoire. SAX, par contre, lit le document en indiquant au programme ce qu'il voit (une balise ouvrante, etc.) Ca veut dire que c'est au programme de chopper au vol ce qui l'interesse (dans ton cas, tout je pense). Le critere majeur de choix est, selon moi, le fait d'avoir des liens dans le document (par ID/IDREF ou autre). Ca complique un peu la vie avec SAX, alors qu'avec DOM ca se regle tout seul. Le mieux est peut-etre de demarrer avec DOM, parce que ca prend quelques lignes. Si ce n'est pas satisfaisant, tu peux toujours t'y coller et passer a SAX (mais cela demandera un peu plus de programmation). Pour ce qui est d'ecrire, je ne crois pas que SAX ait prevu quoi que ce soit. Et pour DOM, c'est du niveau 3. En particulier Xerces n'a pas de mecanisme de serialisation en C++. Donc, il va falloir l'ecrire toi-meme. -- Alain.
Technical Details
Message-ID:
<wyy9odtwst.fsf@polya.u-strasbg.fr>Path:
arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!enst!univ-angers.fr!news.unicaen.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mailReferences:
<9ltoqr$pol$1@news.u-strasbg.fr>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 114f60,5684defd274f05a0 X-Google-Attributes: gid114f60,public X-Google-ArrivalTime: 2001-08-21 06:25:34 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!newsfeed.google.com!sn-xit-02!supernews.com!news.tele.dk!small.news.tele.dk!213.56.195.71!fr.usenet-edu.net!usenet-edu.net!enst!univ-angers.fr!news.unicaen.fr!univ-lille1.fr!news.u-strasbg.fr!not-for-mail From: Alain Ketterlin <alain@dpt-info.u-strasbg.fr> Newsgroups: fr.comp.text.xml Subject: Re: DOM et SAX Date: 21 Aug 2001 14:36:02 +0200 Organization: CRC - Universite Louis Pasteur Strasbourg France Lines: 38 Message-ID: <wyy9odtwst.fsf@polya.u-strasbg.fr> References: <9ltoqr$pol$1@news.u-strasbg.fr> NNTP-Posting-Host: polya.u-strasbg.fr X-Trace: news.u-strasbg.fr 998405027 26428 130.79.44.199 (21 Aug 2001 14:43:47 GMT) X-Complaints-To: usenet@u-strasbg.fr NNTP-Posting-Date: 21 Aug 2001 14:43:47 GMT X-Newsreader: Gnus v5.6.45/XEmacs 21.1 - "Capitol Reef"