TinyXml passer des strings en input

Signaler
Messages postés
5
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2006
-
Messages postés
5
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2006
-
Bonjour,
J'ai déjà utilisé TinyXml à plusieurs reprises, mais là je bute sur un problème pour lequel je n'ai trouvé quasiment aucune doc.
Je voudrais parser non pas un fichier mais une std::string (que je récupère plus ou moins dynamiquement).
J'ai vu qu'il existe une méthode "std::istream & operator>> (std::istream &in, TiXmlNode &base)" mais je n'arrive pas à l'utiliser.
Auriez-vous un exmple ?
Merci d'avance.

3 réponses

Messages postés
492
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
12 janvier 2012
1
Salut,
j'ai une solution qui n'en est pas une mais bon, tu peux toujours écrire ta string dans un fichier et passer ensuite ce dernier a tinyXML (tu pourras toujours supprimer ce fichier après l'avoir parser !), ecrire une simple string dans un fichier prend un temps négligeable.

<hr size="2" width="100%" />TuRn3r
Messages postés
5
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2006

désolé turnerom mais pour des raisons d'optimisations (qui tiennent une place prépondérante dans mon projet : une plateforme de jeux massivement multi-joueurs en ligne) je ne peux pas faire comme tu dis. Par contre j'ai trouvé la solution : il suffit passer par des istringstream (#include <sstream>).

TiXmlDocument *doc = 0;
istringstream iss("<mon><xml></xml></mon>");
iss >> (*doc);

et voila ! En tout cas merci.
++
Messages postés
5
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
22 décembre 2006

désolé turnerom mais pour des raisons d'optimisations (qui tiennent une place prépondérante dans mon projet : une plateforme de jeux massivement multi-joueurs en ligne) je ne peux pas faire comme tu dis. Par contre j'ai trouvé la solution : il suffit passer par des istringstream (#include <sstream>).

TiXmlDocument *doc = 0;
istringstream iss("<mon><xml></xml></mon>");
iss >> (*doc);

et voila ! En tout cas merci.
++