IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Format d'échange (XML, JSON...) Java Discussion :

Créer une variable xml directement dans java [JDOM]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club Avatar de Tigrounette
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 69
    Points
    69
    Par défaut Créer une variable xml directement dans java
    Bonjour à tous, je précise tout de suite je connais rien à java.

    J'en ai besoin pour faire marcher un jeu. Ce jeu utilise beaucoup les xml.

    J'ai bidouiller un peu le truc qu'on appelle jdom, j'ai fait le tutorial de ce site. J'arrive à m'en sortir mais j'ai un petit probleme.

    Pour l'instant la seule façon de faire une variable xml que j'ai pu voir, c'est de construire tout les éléments un à un, ou d'appeller un fichier .xml.

    Moi ce qu'il me faudrais c'est de pouvoir transformer un String (du genre "<message joueur='trucmuche' texte='Salut!' />" en xml, où je pourrais appliquer des .getChild .getName etc...

    Mais j'ai pas trouvé comment faire, donc si quelqu'un peu m'aider, merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 110
    Points
    110
    Par défaut
    je voudrais pas dire de connerie mais il me semble que les seule variables qu'il est possible de créer en java sont soit des objets soit des types primitif genre int, boolean etc ... Donc je vois pas bien comment on pourrait créer directement une variable XML en Java à moins qu'il existe un objet du genre XMLDocument qui possède un méthode qui s'appelle AddXMLVariable(String str)
    Deplus, il me semble aussi que à l'instar de HTML un doument XML c'est une grosse chaine de caractères ou une séquence de chaines de caractères. Donc ajouter une variable à un document revient à insérer une chaine dans une chaine plus grande.
    Sinon essaie de nous en dire un peu plus

  3. #3
    Membre du Club Avatar de Tigrounette
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 69
    Points
    69
    Par défaut
    en fait j'ai un jeu en flash qui envoie une chaine de caractère sur un serveur en java. Cette chaine de caractère est en fait un document XML, j'arrive à obtenir la chaine de caractère sur le serveur java mais j'aimerais la transformer en quelque chose reconnu comme étant du xml pour pouvoir l'interpréter, mais je bloque ^^

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Il existe plusieurs api pour gêrer le XML en Java. Par exemple JDOM.
    Elle te permettra de créer des documents XML.
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 122
    Points : 110
    Points
    110
    Par défaut
    Citation Envoyé par Tigrounette
    en fait j'ai un jeu en flash qui envoie une chaine de caractère sur un serveur en java. Cette chaine de caractère est en fait un document XML, j'arrive à obtenir la chaine de caractère sur le serveur java mais j'aimerais la transformer en quelque chose reconnu comme étant du xml pour pouvoir l'interpréter, mais je bloque ^^
    essaie ça peut être :

    SAXBuilder builder = new SAXBuilder();
    Document doc = builder.build(String taChaine);

    L'objet SAXBuilder permet de créer des documents XML à partir de différents type d'input voir :

    http://www.jdom.org/docs/apidocs/org...AXBuilder.html

  6. #6
    Membre du Club Avatar de Tigrounette
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 69
    Points
    69
    Par défaut
    Il existe plusieurs api pour gêrer le XML en Java. Par exemple JDOM.
    Elle te permettra de créer des documents XML.
    Ca j'ai bien compris, j'arrive à créer des documents xml. Mais pas à partir d'une chaine de caractère. C'est ca qui m'interresse, dans tout les tutoriaux que j'ai trouvé il utilise à chaque fois un .xml séparé ou il le construise directement avec du code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import org.jdom.*;
    import org.jdom.input.*;
     
    public class Echo01 {
    	static org.jdom.Document document;
     
    	static Element racine;
     
    	public static void main(String[] args) {
    		SAXBuilder sxb = new SAXBuilder();
    		try {
    			String chaine = "<Message joueur='Tigrounette'/>";
    			document = sxb.build(chaine);
    		} catch (Exception e) {
    		}
    		System.out.println(document);
    	}
    }
    En faisant ca, il me renvoie null

    Si jamais vous connaissez un autre moyen ca m'interresse

  7. #7
    Membre du Club Avatar de Tigrounette
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 69
    Points
    69
    Par défaut
    Alors j'ai trouvé une solution mais j'ai besoin de savoir si ca vaut le coup comme méthode (moi ca me parait completement bidon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import java.io.*;
    import org.jdom.*;
    import org.jdom.input.*;
     
    class Echo01 {
    	static org.jdom.Document document;
     
    	static Element racine;
     
    	public static void main(String[] argv) throws IOException {
    		PrintWriter CreationXML;
     
    		CreationXML = new PrintWriter(new BufferedWriter(
    				new FileWriter("Message.xml")));
     
    		CreationXML.println("<Message joueur='Tigrounette'/>");
    		CreationXML.close();
    		SAXBuilder sxb = new SAXBuilder();
    		try {
    			document = sxb.build(new File("Message.xml"));
    		} catch (Exception e) {
    		}
    		System.out.println(document);
     
    	}
    }
    Je crée un fichier texte avec ma chaine et je l'appelle message.xml
    Après j'appelle ce fichier avec SAXbuilder pour en faire un document XML.

    Ca marche bien mais je me pose des question au niveau "optimisation".

    Imaginons que ce code soit répété 40 fois par seconde, est ce que le fait d'écrire dans un fichier pour ensuite lire son contenu ralentira le programme ? Je sais pas trop comment ca marche mais je suppose que oui

    (sachant que les chaines écrites dans les fichiers de feront jamais plus de quelques mots)

  8. #8
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Salut désolé je n'avais pas compris voila un bout de code qui chez moi fonctionne. Il lit un string avec un StringReader et en fait un Document.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    import java.io.StringReader;
     
    import org.jdom.Document;
    import org.jdom.input.SAXBuilder;
     
    public class Test {
     
    	public static void main(String[] args) {
     
    		  Document doc=new Document();
     
    		  String xmlString="<?xml version=\"1.0\" encoding=\"UTF-8\"?><Message joueur='Tigrounette'/>";
    	      SAXBuilder sxb = new SAXBuilder();
    	      try
    	      {
    	    	 StringReader strReader=new StringReader(xmlString);
    	         doc = sxb.build(strReader);
    	      }
    	      catch(Exception e){
    	    	  e.printStackTrace();
    	      }
     
    	      System.out.println(doc.toString());
    	      System.out.println(doc.getContent());
     
        }
    }
    Steve Hostettler
    est ton ami(e) et le tag aussi.

  9. #9
    Membre du Club Avatar de Tigrounette
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 132
    Points : 69
    Points
    69
    Par défaut
    impeccable !

    merci a tous pour vos réponse, c'est vraiment sympa

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/05/2013, 17h23
  2. Récupération d'une variable XML dans une JSP
    Par drumtof dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 17/06/2009, 15h45
  3. Comment lire un fichier XML et l'écrire dans une variable XML en C#
    Par Bonne Année dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 21/01/2009, 13h34
  4. Réponses: 0
    Dernier message: 16/01/2009, 15h15
  5. Réponses: 8
    Dernier message: 06/02/2006, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo