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 :

Parser une string [DOM]


Sujet :

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

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Par d�faut Parser une string
    Je suis d�sol� si je pose (sans doute) une question maintes fois pos�e. J'ai d�j� largement feuillet� le forum mais les r�ponses apport�es ne semblent pas fonctionner.

    Je suis compl�tement novice en JAVA et je dois parser un fichier XML sous forme d'une string ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class TestDOM implements B_global
    {
    	public static boolean TestDOM ( String fichierABS ) throws Exception {
     
    		DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    		DocumentBuilder parser =  factory.newDocumentBuilder();
     
    		try {
    			Document document = parser.parse(fichierABS); /*** PLANTAGE ***/		
    			Element msgPFI = document.getDocumentElement();
    Si fichierABS est un chemin absolu vers un fichier .xml cela fonctionne.
    Si il s'agit du contenu du fichier, cela ne fonctionne pas.

    Y a-t-il un moyen de traiter cette string sans reformer un fichier .xml temporaire ?

    Merci

  2. #2
    Membre �clair�
    Inscrit en
    Novembre 2004
    Messages
    76
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Par d�faut oui c possible
    au lieu d'appeler parse avec une string qui sera toujours pour lui un nom de fichier appel parse avec en parametre un Inputstream qui sera un flux repr�sentant ta String XML.

    waddle

    --
    EPITA Student
    Promo 2006

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Par d�faut
    Euh ... est-ce que je peux caster une string en InputStream ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    TestDOM.java:43: inconvertible types
    found   : java.lang.String
    required: java.io.InputStream
                            fichierABS = (InputStream) fichierABS;
                                                       ^
    1 error
    Parceque voil�, ce que j'obtiens ...

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    30
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Par d�faut
    non le caster tu as pas trop le droit
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    InputStream is = new java.io.ByteArrayInputStream(str.getBytes());

  5. #5
    Membre �clair�
    Inscrit en
    Novembre 2004
    Messages
    76
    D�tails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Par d�faut oulala
    ah non non non !!!
    tu peux pas faire ca, car String n'est pas un InputStream !!!!

    il doit exister plusieurs methodes, � vu de nez j'en trouve une pas tr�s belle (mais bon j'ai pas trop cherch� non plus....mon boss va pas etre content sinon.... ;-) )

    utilise des PipedInputStream (et output) ecrit ta chaine dans le output apres l'avoir connecter a un input. Comm PipedInputStream est sous-classe de InputStream ca devrait passer.

    Bon c vrai que ca pas leur usage normal, mais bon, les deadlock que tu pourrais avoir n'existeront pas si tu n ecris qu'une fois et que tu lis une fois, enfin je crois..... :-)

    il doit surment exister d'autre methodes plus propres.

    waddle

    le tps que je redige, un nouveau post est apparu, et sa solution est bien plus belle

    --
    EPITA Student
    Promo 2006

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Par d�faut
    OK j'ai fini par r�soudre mon pb en faisant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Document document = parser.parse(new InputSource(new StringReader(fichierABS)));
    Je ne sais pas si c'est tr�s correct mais �a fonctionne bien en tout cas.
    Merci � tous pour vous conseils (m�me si je n'ai pas tout compris) qui m'ont donn� envie de vraiment m'int�resser � JAVA.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Probleme pour parser une String en Date
    Par DrTank dans le forum Langage
    R�ponses: 3
    Dernier message: 04/05/2007, 19h19
  2. parser une string xml avec jsp
    Par issamos4 dans le forum Servlets/JSP
    R�ponses: 1
    Dernier message: 26/03/2007, 09h50
  3. [Tableaux] Parser une string en array
    Par supersmoos dans le forum Langage
    R�ponses: 6
    Dernier message: 08/02/2007, 16h01
  4. [XML] [string] parser une string XML
    Par fxp17 dans le forum Format d'�change (XML, JSON...)
    R�ponses: 2
    Dernier message: 29/03/2006, 10h27
  5. [DOM] parser une String pour en faire un document XML
    Par Fladnag dans le forum Format d'�change (XML, JSON...)
    R�ponses: 9
    Dernier message: 29/03/2004, 11h04

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