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 :

Enregistrer un Document dom dans un fichier xml


Sujet :

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

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Enregistrer un Document dom dans un fichier xml
    Bonjour tout le monde!

    J'ai besoin d'une petite aide sur une exception que je n'arrive pas à résoudre.

    En fait je souhaite créer un fichier xml à partir de données d'une classe java que j'ai créée.

    Alors je crée bien le Document (org.w3c.dom.Document) que j'ai testé qui n'est donc pas vide. et je souhaite l'enregistrer dans un fichier xml.

    le problème c'est que j'ai un NullPointerException lors de cet opération.

    Voici le code de l'enregistrement dans le fichier xml:


    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
     
    	// création du fichier xml
    			File f = new File("C:\\Documents and Settings\\amda8464\\My Documents\\tomcat workspace\\Dashboard\\"+login+"_.xml");
    			// File baseDir = new File("/var/www/html/tomcat/sogescom/doc");
     
    			StreamResult result = new StreamResult(f);
    			DOMSource source = new DOMSource(document);
    			System.out.println("result: " +result.equals(null));
    			TransformerFactory transformerFactory = TransformerFactory
    					.newInstance();
    			javax.xml.transform.Transformer transformer = transformerFactory
    					.newTransformer();
    			//transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    			transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    			transformer
    					.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
    			transformer.transform(source, result);
    et voici l'exception que j'obtiens :
    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
    29
    30
    31
    32
    ERREUR :  ''
    javax.xml.transform.TransformerException: java.lang.NullPointerException
    	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
    	at dashboard.util.Profile.createXML(Profile.java:267)
    	at dashboard.test.Test.main(Test.java:43)
    Caused by: java.lang.NullPointerException
    	at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.characters(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
    	... 4 more
    ---------
    java.lang.NullPointerException
    	at com.sun.org.apache.xml.internal.serializer.ToUnknownStream.characters(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.DOM2TO.parse(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
    	at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source)
    	at dashboard.util.Profile.createXML(Profile.java:267)
    	at dashboard.test.Test.main(Test.java:43)
    Sachant que la ligne qui crée l'exception est celle-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    transformer.transform(source, result);
    Merci beaucoup pour votre aide

  2. #2
    Membre averti Avatar de soad
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    520
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2004
    Messages : 520
    Points : 439
    Points
    439
    Par défaut
    l'eception NullPointerException c'est que tu essais d'accéder à un objet qui est null !

    Sachant que la ligne qui crée l'exception est celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    transformer.transform(source, result);
    transformer, source ou result sont peut etre à null... essai de tester pour voir le quel c'est !



    P.S. cette ligne là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    File f = new File("C:\\Documents and Settings\\amda8464\\My Documents\\tomcat workspace\\Dashboard\\"+login+"_.xml");
    met plutot des / que des \\ ! ca te permetteras d'avoir un code portable !

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/04/2008, 17h54
  2. Enregistrer une table Access dans un fichier "XML"
    Par kmaniche dans le forum C++Builder
    Réponses: 21
    Dernier message: 31/05/2007, 22h19
  3. Enregistrer une image dans un fichier XML
    Par MiJack dans le forum Delphi
    Réponses: 12
    Dernier message: 24/05/2006, 10h24
  4. Insérer un enregistrement dans un fichier XML
    Par insane_fr dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 19/05/2006, 21h30
  5. Insertion d'enregistrement dans un fichier XML
    Par davestar dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 02/04/2006, 17h22

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