Apres avoir utiliser TinyXml, je me suis penché sur l'utilisation des parser xml fournit sur cppfrance, mais aucun ne m'a satisfait.
Soit c'était trop complexe, soit pas compilable sur vc++ 6, ... brefle je me suis mis à faire le mien pour remplacer l'utilisation de la tinyxml que j'avais dans mon code.
alors, le parser gere ce type de code :
<?xml ... ?> // cette balise sera oublié
<ESSAI param="variable"/>
<!-- commentaire -->
<essai param1="blabla" >
<glop />
<![CDATA[
blablabla <a>sqdsdqsdsqdqsdqsdqs</a>]]></ESSAI>
donc il gere :
- l'imbriquation de balise
- les parametres d'une balise
- le fameux <![CDATA[ ... ]]> qui permet de ne pas analyser le contenu
- il permet grace à la classe CFileX (fournit dans une de mes sources) de charger un fichier xml sur le disque dur, http ou ftp
il n'y a pas de std::string ou vector ou map ou list ou autre d'utilisé, je ne le souhaitais pas.
il n'y a pas de fuite de mémoire