Le titre a l'air simple, mais j'ai beau chercher, je ne vois pas de façon triviale de faire ce que je souhaite.
Alors, voilà mon soucis.
Je joue à un jeu (poker , et à chaque fin de main, l'IHM du site de jeu vide dans un fichier dit "historique" en xml le déroulement de la main.
La structure des données xml pour le déroulement d'une main est la suivante (pour exemple):

- <game gamecode="2132861814">
- <general>
<startdate>2009-03-21 18:18:23</startdate>
- <players>
<player seat="4" name="toto" chips="8,810" dealer="1" win="12,380" bet="6,190" />
<player seat="6" name="titi" chips="6,190" dealer="0" win="0" bet="6,190" />
</players>
</general>
- <round no="0">
<action no="1" player="toto" type="1" sum="200" cards="[cards]" />
<action no="2" player="titi" type="2" sum="400" cards="[cards]" />
</round>
- <round no="1">
<cards type="Pocket" player="toto">D2 DK</cards>
<action no="3" player="toto" type="23" sum="800" cards="" />
<cards type="Pocket" player="titi">H6 HQ</cards>
<action no="4" player="titi" type="3" sum="400" cards="" />
</round>
- <round no="2">
<cards type="Flop" player="">D5 H5 DQ</cards>
<action no="6" player="toto" type="23" sum="3,200" cards="" />
<action no="8" player="toto" type="3" sum="2,190" cards="" />
<action no="5" player="titi" type="5" sum="1,600" cards="" />
<action no="7" player="titi" type="23" sum="5,390" cards="" />
</round>
- <round no="3">
<cards type="Turn" player="">D7</cards>
</round>
- <round no="4">
<cards type="River" player="">S3</cards>
</round>
</game>
...et pour chaque nouvelle main jouée, le site enverra des données similaires suivant ce format dans le fichier d'historique.

Mon besoin est donc de récupérer au fil de l'eau ces données pour procéder à des analyses en temps réel. Il me faut donc parser le XML. Simple direz-vous ? Peut-être, mais les exemples de parsing XML que j'ai vu font tous référence à un fichier "fixe", i.e dont le contenu n'évolue pas avec le temps. Or mon fichier historique s'apparente à un fichier de log qui évolue avec le temps.
Pour parser les données, je ne peux (veux) pas utiliser le parseur DOM car il charge toute la structure du document, or là mon document évolue avec le temps et peut être lourd (si je gagne au poker, je reste plus longtemps à jouer ). Je compte donc utiliser la méthode SAX.

Mais alors comment faire pour ne parser que les dernières données qui viennent d'être insérées dans le fichier et pas les données des toutes premières mains (par ex. j'ai déjà récupérées les données des mains n° 1, 2 et 3 par exemple, le site m'envoie l'historique de la main 4, je veux donc récupérer uniquement ces données de la main 4 sans parser les données des mains 1, 2 et 3) ?