Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XML Discussion :

[TinyXML] Question


Sujet :

XML

  1. #1
    Membre à l'essai
    [TinyXML] Question
    Bonjour !

    J'utilise TinyXML pour générer et rechercher dans des fichiers XML mais seulement je suis obligé de déclarer tous mes TiXmlElement,ect en pointeur sinon quand j'exécute mon programme j'ai des problèmes qui me renvoient dans le fichier TinyXML.cpp à la ligne ou les Nodes sont désallouer (delete)

    J'ai bien essayer d'utiliser TinyXML++ qui spécifie qu'on n'est pas obliger d'utiliser les allocations mais je n'ai pas réussi à l'utiliser, j'avais des problèmes de liens

    J'aimerais aussi savoir si il était possible de générer directement un noeud(qui contient ses elements, ses attributes, ect) sans devoir récréer toute l'aborescence ?

    Exemple, je génere des noeuds membre qui contiennent des elements (nom,prenom,ect) et des attributs, mais quand je veux rajouter un noeud membre, je suis obliger de recréer ces elements,attributs avant de les générer en XML

    Merci d'avance

  2. #2
    Membre éprouvé
    Citation Envoyé par Xxbz3 Voir le message
    J'utilise TinyXML pour générer et rechercher dans des fichiers XML mais seulement je suis obligé de déclarer tous mes TiXmlElement,ect en pointeur sinon quand j'exécute mon programme j'ai des problèmes qui me renvoient dans le fichier TinyXML.cpp à la ligne ou les Nodes sont désallouer (delete)
    C'est normal car tu parcours l'arborescence XML. Donc tu récupères des pointeurs sur cette arborescence. A toi derrière de stocker les informations nécessaires dans tes propres variables (si tu en as besoin).
    Citation Envoyé par Xxbz3 Voir le message
    J'aimerais aussi savoir si il était possible de générer directement un noeud(qui contient ses elements, ses attributes, ect) sans devoir récréer toute l'aborescence ?
    Bien sûr. Une fois que tu as ton élément créé, il faut que tu l'insères à la node souhaitée. Il faut donc que tu aies connaissance de la node où tu vas insérer ton élément, mais ça ça tombe sous le sens: tu ne jettes pas ton élément dans l'arborescence sans savoir où le mettre.
    Citation Envoyé par Xxbz3 Voir le message
    Exemple, je génere des noeuds membre qui contiennent des elements (nom,prenom,ect) et des attributs, mais quand je veux rajouter un noeud membre, je suis obliger de recréer ces elements,attributs avant de les générer en XML
    Ce n'est pas clair, je ne suis pas sûr de comprendre ce que tu veux dire. Essaye d'être plus clair et de bien faire la différence entre l'arborescence XML (nodes/noeuds, élément, ...) du reste (membre, variable, ...).
    "L'ordinateur obéit à vos ordres, pas à vos intentions." [Anonyme]

  3. #3
    Membre à l'essai
    J'ai une classe Membre qui contient ses variables membres. J'ai crée une fonction Ajouter_Membre qui inscrit le membre dans le fichier Xml sous cette forme :
    <liste_membres>
    <membre>
    </nom>
    </prénom>
    </...>
    </membre>
    </liste_membres>
    mais à chaque fois je dois recréer tout le nœud membre , c'est à dire les TiXmlElement pour membre,nom,prénom,etc.

    moi ce que j'aimerais savoir c'est si c'est possible de déclarer une espèce de structure membre en XML(sans valeur) et quand je veux ajouter un membre je n'ai qu'a passer les valeurs et cela généra directement le code xml comme ci dessus avec les valeurs.

    edit : Pourquoi est ce que cela ne marche pas ?

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    TiXmlText *test = elem->FirstChild("test")->FirstChildElement()->ToText();
    test->setValue("test");


    Il me dit que la référence d'objet n'est pas associé à une instance d'un objet