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

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm� 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
    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 confirm�
    Inscrit en
    F�vrier 2005
    Messages
    122
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 122
    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 confirm� 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
    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 Expert
    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
    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.

  5. #5
    Membre confirm�
    Inscrit en
    F�vrier 2005
    Messages
    122
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 122
    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 confirm� 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
    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 confirm� 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
    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 Expert
    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
    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());
     
        }
    }

  9. #9
    Membre confirm� 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
    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