begin process at 2008 05 12 11:29:20
1 170 205 membres
108 nouveaux aujourd'hui
13 957 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : [JAVA LUA ou XML] [ Algorithme / Autre ] (mattpeach)

[JAVA LUA ou XML] le 08/05/2008 16:37:15

mattpeach
Bonjour,
Je suis entrain de realiser un petit projet java, comparable a une bataille navale. J ai la classe cellule suivante :


public
class Cell extends CellRectangle {

//Propriedades
//pression

privatefloatpressure;

//coeficient d'erreur
privatefloat[]error;

//profondeur

privatefloatdepth;

.......
}

Mon probleme est que je dois importer ces données sur un fichier XML ou Lua (au choix), qui sera un fichier d archives. Si quelqu un sait comment faire ca...


Merci d'avance!

Re : [JAVA LUA ou XML] le 08/05/2008 18:53:00

gouessej
Bonjour

Tu peux utiliser soit DOM (déjà présent dans Java de base), SAX (de même), JDOM, ...
Tu peux passer par Xerces ou Xalan pour parser tout ça également.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Re : [JAVA LUA ou XML] le 08/05/2008 18:54:40

gouessej
Si ton programme est responsable de l'importation et de l'exportation au format XML, tu peux également utiliser l'encodeur de base, la classe XMLEncoder, puis le décodeur de base, la classe XMLDecoder. C'est la solution la plus simple, il faudra juste que tes classes respectent le contrat de Java Beans.

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Re : [JAVA LUA ou XML] le 08/05/2008 19:57:10

mattpeach
Merci!
Comment fonctionne DOM?
 je dois entrer les commandes directement dans ma classe cell ou en creer un autre?
Si tu as un exemple sous la main, je pense que c est le plus simple pour que je comprenne.

Merci d avance

Re : [JAVA LUA ou XML] le 08/05/2008 20:09:09

gouessej
Ca donne ça avec la classe XMLEncoder :

XMLEncoder e = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("Test.xml")));
e.writeObject(new JButton("Hello, world"));
e.close();
Regarde la documentation Java, il y a quelques exemples. Tu ne dois pas créer d'autres méthodes sauf peut-être une méthode Object readResolve(ObjectInputStream ois){} si tu as des membres marqués "transient" et ta classe doit implémenter l'interface Serializable. Tes accesseurs en lecture et en écriture (publics et absolument présents) comme tes membres doivent respecter la syntaxe Java Beans.


TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Re : [JAVA LUA ou XML] le 08/05/2008 20:10:41

gouessej
Pour DOM, regarde ça :

http://www.javafr.com/codes/EXEMPLE-PARSEUR-DOM_41491.aspx


TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Re : [JAVA LUA ou XML] le 09/05/2008 12:00:21

indiana_jules
Salut,
un lien pas mal pour la manipulation DOM (relativement complet et efficace) : [ Lien ]

Voili voilà

[#Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
[#Je ne comprends pas tout, mais je parle de tout : c'est ce qui compte]

Re : [JAVA LUA ou XML] le 09/05/2008 19:20:10

mattpeach
Merci mais d apres ce que je lis sur vos liens, le DOM sert a importer en Java le contenu d un fichier XML.
Ce que je veux faire c est sauver, sur un fichier XML que je cree dans une classe, les attributs de ma classe...

Re : [JAVA LUA ou XML] le 09/05/2008 22:12:41

gouessej
Attends, tu n'as qu'à te servir de la classe XMLEncoder, je t'ai donné un exemple. A la place de new JButton(...), tu mets tes objets instance de la classe Cell et c'est bon. Où est le problème?

TUER : http://tuer.tuxfamily.org/tuer.php

yeah! vive java

Re : [JAVA LUA ou XML] le 10/05/2008 14:04:01

indiana_jules
Salut,
Dom permet de sauvegarder dans un fichier XML (encore heureux). Et cela n'est pas bien compliqué. Un exemple :

public void saveToXml(File file) throws Exception {
        BufferedWriter bw = new BufferedWriter(new FileWriter(file));
        DOMSource domSource = new DOMSource(getMyDocument());

        StringWriter writer = new StringWriter();
        StreamResult result = new StreamResult(writer);

        TransformerFactory tf = TransformerFactory.newInstance();
        tf.setAttribute("indent-number", new Integer(4));
        Transformer transformer = tf.newTransformer();
        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
        transformer.transform(domSource, result);

        bw.write(writer.toString());
        bw.close();
    }

public Document getMyDocument() throws Exception {
        DocumentBuilderFactory builder = DocumentBuilderFactory.newInstance();       
        DocumentBuilder constructeur = builder.newDocumentBuilder();

        Document document = constructeur.newDocument();
        document.setXmlVersion("1.0");

        Element racine= document.createElement("racine");
        Element serviceName = document.createElement("serviceName");
        serviceName.setTextContent(getServiceName());
        racine.appendChild(serviceName);

        Element author = document.createElement("author");
        author.setTextContent(getAuthor());
        racine.appendChild(author);

        Element version = document.createElement("version");
        version.setTextContent(getVersion().toString());
        racine.appendChild(version);
   
        document.appendChild(racine);

        return document;
    }

Voili voilà

[#Tout le monde a des idées : la preuve, c'est qu'il y en a de mauvaises]
[#Je ne comprends pas tout, mais je parle de tout : c'est ce qui compte]


Classé sous : fichier, java, xml, lua

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS