Bonjour à tous,
Je cherche à savoir comment je peut savoir si un élément contient bien une valeur. Bien évidemment, j'ai essayé avec les méthodes isEmpty(), equals() , lenghts() mais rien n'y fait (dans le fichier XML ci-dessous mon problème survient sur streetnumber).
Je vais mettre un exemple de mon fichier XML pour que cela soit plus claire ainsi que le code que j'exploite et la stacktrace.
Fichier XML :
Le 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
19
20
21 -<customer numberofnights="6" id="ZTNWAQGI" checkin="27/02/2015"> <firstname>Nnh</firstname> <booking> <lastname>TOTO</lastname> <id type="idcard">nnnn</id> <address> <streetnumber/> <streetname/> <zipcode/> <city/> <country/> </address> <phone>onoi</phone> <email/> <room id="205" type="rt3" state="available"/> </customer> </booking>
La stackTrace :
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
33
34
35
36
37
38
39
40
41 final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); final DocumentBuilder builder = factory.newDocumentBuilder(); final Document document = builder.parse(new File(XmlDoc)); /** Tant qu'il y a des réservations on continue */ for (Map.Entry<String, Booking> entree : hmBooking.entrySet()) { final Element racine = document.getDocumentElement(); final NodeList racineNoeuds = racine.getChildNodes(); final int nbRacineNoeuds = racineNoeuds.getLength(); for (int i = 0; i < nbRacineNoeuds; i++) { if(racineNoeuds.item(i).getNodeType() == Node.ELEMENT_NODE){ Element nodeElement = (Element) racineNoeuds.item(i); if (nodeElement.getTagName().equals("customer")) { /** Modifie les attributs de l'élément customer */ NodeList nlCustomer = document.getElementsByTagName("customer"); if (nlCustomer != null && nlCustomer.getLength() > 0) { for (int y = 0; y < nlCustomer.getLength(); y++) { Node node = nlCustomer.item(y); Element e = (Element) node; String id = e.getAttribute("id"); if (id.equals(entree.getValue().getIdbooking())) { Node streetnumber = document.getElementsByTagName("streetnumber").item(y); if(!streetnumber.equals(null)){ streetnumber.setTextContent(entree.getValue().getStreetnumber());} /** IL N'Y A PAS TOUT LE CODE MAIS LA SUITE EST IDENTIQUE ET A LA FIN IL Y A LE TRANSFORMER */
En vous remerciant à tous d'avance.
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94 debug: Nnh Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at ***.projet.XMLBooking.ModifXmlBooking(XMLBooking.java:219) at ***.projet.jDialogBooking.SaveDataBooking(jDialogBooking.java:257) at ***.projet.jDialogBooking.ModifBooking(jDialogBooking.java:730) at ***.projet.jDialogBooking.jBValiderActionPerformed(jDialogBooking.java:667) at ***.projet.jDialogBooking.access$100(jDialogBooking.java:41) at ***.projet.jDialogBooking$3.actionPerformed(jDialogBooking.java:421) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2739) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746) at java.awt.EventQueue.access$400(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:697) at java.awt.EventQueue$3.run(EventQueue.java:691) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:719) at java.awt.EventQueue$4.run(EventQueue.java:717) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:716) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109) at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229) at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227) at java.security.AccessController.doPrivileged(Native Method) at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227) at java.awt.Dialog.show(Dialog.java:1084) at java.awt.Component.show(Component.java:1654) at java.awt.Component.setVisible(Component.java:1606) at java.awt.Window.setVisible(Window.java:1014) at java.awt.Dialog.setVisible(Dialog.java:1005) at ***.projet.BuildResa.jBModifResaActionPerformed(BuildResa.java:1645) at ***.projet.BuildResa.access$1400(BuildResa.java:41) at ***.projet.BuildResa$17.actionPerformed(BuildResa.java:964) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6525) at javax.swing.JComponent.processMouseEvent(JComponent.java:3321) at java.awt.Component.processEvent(Component.java:6290) at java.awt.Container.processEvent(Container.java:2234) at java.awt.Component.dispatchEventImpl(Component.java:4881) at java.awt.Container.dispatchEventImpl(Container.java:2292) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462) at java.awt.Container.dispatchEventImpl(Container.java:2278) at java.awt.Window.dispatchEventImpl(Window.java:2739) at java.awt.Component.dispatchEvent(Component.java:4703) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:746) at java.awt.EventQueue.access$400(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:697) at java.awt.EventQueue$3.run(EventQueue.java:691) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:719) at java.awt.EventQueue$4.run(EventQueue.java:717) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) at java.awt.EventQueue.dispatchEvent(EventQueue.java:716) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) BUILD SUCCESSFUL (total time: 1 minute 47 seconds)
Partager