Bonjour,
Je cherche à traiter un fichier XML par un programme C à l'aide d'expression régulière pour récupérer le texte contenu entre deux balises.
Voici le fichier XML de test :
<root>
<message>test1</message>
<message>test2</message>
</root>
Le but est donc de récupérer le texte contenu entre les balises message, à savoir : "test1" puis "test2".
Pour cela, j'inclus la librairie regex.h, puis j'utilise les fonctions regcomp et regexec pour traiter le fichier XML.
Voici l'expression régulière que j'utilise :
<message>(.*)</message>
Problème, les expressions régulières POSIX sont abondantes et le résultat est donc : test1</message><message>test2.
Une solution serait d'utiliser l'expression régulière suivante :
<message>[^<]*</message>
Mais cela ne me convient pas, car mon fichier XML peut contenir d'autres balises entre les balises "message".
J'aimerais donc savoir s'il quelqu'un avait une solution pour que la recherche ne soit pas "abondante"

D'avance, merci.