Journal XML2Class

Posté par  .
Étiquettes : aucune
0
2
avr.
2004
Bonjour a tous,

Je recherche un outil permettant d'instantier des classes C++ directement a partir d'un fichier XML. De meme, j'aimerais qu'il fasse le contraire, c'est a dire generer un fichier XML a partir de l'etat d'un ensemble de classes C++.

Connaissez vous un tel outil ?

Je m'en servirais afin de sauvegarder et charger l'etat d'un jeu open-source (un clone de Colonial Conquest).

Merci :)
  • # Re: XML2Class

    Posté par  (site web personnel) . Évalué à -3.

    Ca fait longtemps que je n'ai plus fait de C++ mais ça ne doit pas être difficile .... (enfin, je crois)
  • # Re: XML2Class

    Posté par  . Évalué à 3.

    J'ai fait un mini langage de script en XML sur lequel est basé mon bot IRC:
    http://dev.oridani.com/zcbot/(...)

    Chaque tag xml du script correspond à un objet C++ ayant une fonction pour le langage de script.
    exemple: la classe "add" additionnera les valeurs de ses tags fils
    Il y a un parseur dédié qui connait les correspondances type de tag / type d'objet.

    On peut aussi appeler des fonctions d'objets C++ depuis le script :
    <&objet.fonction>param</&objet.fonction>
    La classe C++ de "objet" a une fonction "call" qui va gérer ces appels du script.
    • [^] # Re: XML2Class

      Posté par  . Évalué à 1.

      C'est pas mal, je pourrais m'appuyer dessus et utiliser ce principe via des classes de remplissage. Je vais creuser un peu plus ton code.
      Merci beaucoup ! :)
      • [^] # Re: XML2Class

        Posté par  . Évalué à 2.

        Ok, si tu veux de plus amples explications, pas de problème.
  • # Re: XML2Class

    Posté par  (site web personnel) . Évalué à 1.

    C'est pas le but de l'API DOM, ça ?
    • [^] # Re: XML2Class

      Posté par  . Évalué à 1.

      Le DOM permets l'accès à du XML pas de considérer un fichier comme une classe.
  • # Re: XML2Class

    Posté par  . Évalué à 2.

    A mon humble avis il vaut mieux sauver en binaire sinon, ces salopards de joueurs ils vont modifier leur sauvegarde pour se rajouter du pognon.

    sinon, sans vouloir troller:
    http://java.sun.com/j2se/1.4.2/docs/api/java/io/Serializable.html(...)
    • [^] # Re: XML2Class

      Posté par  . Évalué à 1.

      La seule bonne raison de sauvegarder en binaire, c'est les questions d'efficacité (moins volumineux, plus rapide à parser). Les joueurs qui veulent se rajouter du pognon, ils peuvent toujours troquer leur éditeur de texte contre un éditeur hexa si c'est en binaire.
      • [^] # Re: XML2Class

        Posté par  . Évalué à 1.

        oui mais dès que c'est du binaire ya plus que 10% de petits malins qui y parviennent.

        Il reste tjours la possibilité de crypter la sauvegarde et la tt le monde est à égalité.
        • [^] # Re: XML2Class

          Posté par  . Évalué à 1.

          Et la clé de chiffrement tu la mets où ?
    • [^] # Re: XML2Class

      Posté par  (site web personnel) . Évalué à 2.

      Je dirais même plus :

      http://java.sun.com/developer/technicalArticles/WebServices/jaxb/(...)
      http://java.sun.com/xml/jaxb/index.jsp(...)

      Java Architecture for XML Binding (JAXB) provides a convenient way to bind an XML schema to a representation in Java code. This makes it easy for you to incorporate XML data and processing functions in applications based on Java technology without having to know much about XML itself.
  • # Re: XML2Class

    Posté par  . Évalué à 2.

    Prend ton moteur de recherche favori, et donne lui plutôt de la "persistance" (ou persistence, persistant, persistent) et de la serialisation (serialization, serializable), voire éventuellement marshalling, il te ramenera surement une meilleure pêche qu'avec des trucs du genre "XML2Class".
  • # Re: XML2Class

    Posté par  (site web personnel) . Évalué à 0.

    Tu peux regarder du coté de Pego, http://www.laas.fr/%7Elcourtes/software/pego/(...) une bibliothèque de capture d'état. La sortie XML est possible.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.