[Résolu][XML]Ajout de Noeud avec TyniXML

K-lo
[Résolu][XML]Ajout de Noeud avec TyniXML

Voilà j'utilise TyniXML pour crée un fichier d'historique (au format XML)

Spécialisé dans la lecture de fichier XML cette bibliothèque permet aussi d'ajouter des noeuds (InsertAfterChild(...))
Cepandant je n'arrive pas à rajouter un noeud fils au noeud que je veux créer :

VOULU :

<HISTORIQUE>
     <INFOS>
      <HEURE>12:15:00</HEURE>
      <ACTION></ACTION>
    </INFO>
</HISTORIQUE>

est la balise qui englobe tout. Qui exitera toujours. Je me place donc dans ce noeud et je créer que j'arrive a placer. Cependant je ne trouve pas une méthode qui me permettrai de définir en tant que balise enfant de lors de l'ajout de cette dernière.

J'ai même essayé de "finté" le problème en définissant un noeud texte TinyXmlText (je sais c'est pas bien :P) ou j'inscrivais toutes les balises sous forme de texte : mais il me convertie lors de l'insertion les caractères "<", ">" et "/" qui deviennent respectivement : "<" ,">" et " " => Logique :? !

Dois-je me tourner vers une autre bibliothèque ? Et laquelle vous me conseillez?

fredericmazue

Quote:
Cependant je ne trouve pas une méthode qui me permettrai de définir en tant que balise enfant de lors de l'ajout de cette dernière.

Je dois avouer que je ne comprends pas bien ton problème:

TiXmlElement::LinkEndChild

Ca ne va pas ?

Ou alors tu voudrais ajouter deux éléments d'un coup ? C'est à dire que tu ajoutes INFO et tu as du même coup "l'heure dedans" si je puis m'exprimer ainsi.
Alors dans ce cas pourquoi ne pas dériver une classe de TiXmlElement pour spécialiser son comportement ?
Tu construit la classe avec l'enfant et tu redéfinis sa méthode LinkEndChild pour insérer la classe et ce qu'elle détient d'un seul coup :)

Dis tu n'as quand même pas oublié que C++ est orienté objet ? ;)
Ce que tu peux être distrait ;)

Quote:
Dois-je me tourner vers une autre bibliothèque ?

Ca paraît une décision prématurée :)
K-lo

fredericmazue wrote:
Dis tu n'as quand même pas oublié que C++ est orienté objet ? Wink
Ce que tu peux être distrait Wink

Y a des fois où j'ai vraiment honte. non pas que j'ai oublier que le C++ était de l'objet mais que la redéfinition de cette classe ne m'est pas venu a l'esprit.

Merci et la prochaine fois mettez moi des claques :wink: parce que là moi ça va pas :oops:

PS : InsertEndChild me suffit emplement mais je me suis focalisé sur InsertAfterChild et là c'était pas jouable car aucun fils n'avait été au préalable créé

fredericmazue

Quote:
Y a des fois où j'ai vraiment honte. non pas que j'ai oublier que le C++ était de l'objet mais que la redéfinition de cette classe ne m'est pas venu a l'esprit.

Lol :lol:

Allez te bile pas. C'est arrivé à tout le monde, moi le premier :)

fredericmazue

Salut k-lo :)

Je pensais à toi ce matin :) Et je me suis dit:

- il galère avec MFC
- il fait beaucoup d'Unicode
- il fait du XML

Et je me suis dit: Mais alors, pourquoi diable ne se sert il pas de Qt4 ?

Tu devrais essayer, tu verras que tu apprécieras :)

K-lo

En fait, pour mon projet BTS y a donc 2 ou 3ans, je m'étais pencher sur QT, j'ai abandonné son utilisation car ça me prenait beaucoup de tps par rapport au tps impartie pour coder ce projet.

En revanche, a force de lire Programmez! je me dis depuis longtemps :"remet toi sur QT ça te simpliffira la vie".

Bref j'ai encore jamais pris le temps de l'utiliser mais c'est en prévision ;).

De même, j'ai mis du temps pour me pencher sur la bibliothèque boost et aujourd'hui je l'utilise tres souvent. 8)

PS : je m'étais dis aussi met toi a JAVA mais je crois que je vais plutot passer a Erlang mais ça sera dans un avenir plus lointain. :P

A mon avis tu risque de voir très prochainement des question sur le C++ et QT ;)

fredericmazue

Quote:
2 ou 3ans [...] En revanche, a force de lire Programmez! je me dis depuis longtemps :"remet toi sur QT ça te simpliffira la vie".

Je le pense :) Surtout que depuis les 2 ou 3 ans, ils ont sorti Qt4 qui est vraiment très très bien.

Quote:
De même, j'ai mis du temps pour me pencher sur la bibliothèque boost et aujourd'hui je l'utilise tres souvent

J'en suis très heureux :)

Quote:
PS : je m'étais dis aussi met toi a JAVA

Non ;)

Quote:
mais je crois que je vais plutot passer a Erlang

Oui :!: ;)

Quote:
mais ça sera dans un avenir plus lointain

Mieux vaut tard que jamais :)
Mais ne tarde pas trop quand même hein ;)
Quote:
A mon avis tu risque de voir très prochainement des question sur le C++ et QT

Et bien ça sera avec grand plaisir :)