Je suis en train d’écrire un petit Syslog qui capture des messages sur le réseau et les stocke dans un fichier XML.
Pour ca j’utilise la classe XmlDocument et sa méthode Save (monfichier) et je fais un fichier dans le style :
<messages>
<message>
<priority>13</priority>
<timestamp>11/10/2005 11:23:45</timestamp>
<hostname>mymachine</hostname>
<tag>su</tag>
<content>jkhdsfjhkjhjkhhfds</content>
<message>
<message>
<priority>13</priority>
<timestamp>11/10/2005 11:23:45</timestamp>
<hostname>mymachine</hostname>
<tag>su</tag>
<content>jkhdsfjhkjhjkhhfds</content>
<message>
</messages>
Le problème c’est que le XmlDocument conserve en mémoire les nodes. J’ai donc une utilisation mémoire qui grossit sans cesse.
Je voudrais faire un “append” et ne conserver en mémoire des nodes que dans l’attente d’une écriture sur le disque (des que c’est ecrit, hop, on vire). Pour ca j’ai tenté le XmlTextWriter mais il me pose également problème. Je n’arrive pas à lui faire écrire un node dans le node racine, je sais juste le mettre au bout, ce qui n’est pas top.
En gros j’ai besoin d’une méthode me permettant d’intégrer un node dans un fichier xml sans pour autant charger celui-ci entièrement.
Je suppose que ca doit être faisable. help.
Merci d’avance.