Salut.
Voilà plus d'une semaine que je tente de modifier un fichier xml avec jdom. J'ai trouvé beaucoup d'aide sur plusieurs sites (y compris celui-ci) et je crois que j'y suis presque. Mais j'ai un message d'erreur, j'espère que vous pourrez m'aider.
Voilà mon fichier xml :
Je souhaite modifier dans cet exemple le texte de l'élément "port".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <?xml version="1.0" encoding="UTF-8"?> <connexion> <orphy> <ip>10.129.50.50</ip> <port>21</port> </orphy> <mysql> <host>meteo</host> <base>meteo</base> </mysql> </connexion>
Voici le bout de code que j'ai ecrit (qui s'execute en cliquant sur un bouton):
Et voici le message d'erreur :
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 org.jdom.Document document = null; Element racine = null; String val_port = null; SAXBuilder sxb = new SAXBuilder(); try{ //On crée un nouveau document JDOM avec en argument le fichier XML //Le parsing est terminé document = sxb.build(new File("c:/Program Files/MeteoStat2007/connexion.xml")); } catch(Exception jdm) { jdm.printStackTrace(); } racine = document.getRootElement(); System.out.println(jTFPort.getText()); if(! jTFPort.getText().equals("")){ val_port = jTFPort.getText(); try{ racine.getChild("port").setText(val_port); } catch(Exception exp){ exp.printStackTrace(); } System.out.println("valeur : "+val_port); try{ XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat()); sortie.output(document, new FileOutputStream("c:/Program Files/MeteoStat2007/connexion.xml")); } catch (Exception ex){ System.err.println(ex); } }
La ligne 148 (qui pose probleme) : racine.getChild("port").setText(val_port);java.lang.NullPointerException
at stat_meteo.meteorologie$1.actionPerformed(meteorologie.java:148)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
J'ai déjà posté sur un autre forum, mais sans succès, celui qui a essayé de m'aider n'a pas compris d'où ça venait. S'il vous plait, c'est pour mon projet de fin d'année, et je bloque là dessus!C'est important.
Merci d'avance.







Répondre avec citation



Partager