Bonjour j'ai une classe :
qui fonctionne en projet java simple :Code:
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147 package XMLSeeker; import java.io.File; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; public class RechercheXML { private String fichier; public RechercheXML(String s){ this.fichier = s; } public String getFichier(){ return fichier; } public String getImage(int valeur){ String result = null; boolean Fini = false; try { File file = new File(fichier); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.parse(file); document.getDocumentElement().normalize(); NodeList node = document.getElementsByTagName("incidents"); while (Fini == false){ for (int i = 0; i < node.getLength(); i++) { result = LireMenu (node.item(i), valeur); if (result != null){ Fini = true; return result; } } } } catch (Exception e) { e.printStackTrace(); } return result; } public String LireMenu(Node node, int valeur){ String s = null; boolean Fini = false; while (Fini == false){ Element element = (Element) node; NodeList NombreDeMenus = element.getElementsByTagName("menu"); if (NombreDeMenus.getLength() == 0){ for(int i=0;i<NombreDeMenus.getLength();i++){ Node PremierElementSousMenu = NombreDeMenus.item(i); Element ElementDuMenu = (Element) PremierElementSousMenu; LireMenu(ElementDuMenu, valeur); } } NodeList NombreIncidents = element.getElementsByTagName("item"); if (NombreDeMenus.getLength() != 0){ for (int j=0;j<NombreIncidents.getLength();j++){ Node PremierIncident = NombreIncidents.item(j); Element ElementIncident = (Element) PremierIncident; s = LireIncident(ElementIncident, valeur); if (s != null){ Fini=true; return s; } } } } return s; } public String LireIncident(Element e, int valeur){ NamedNodeMap nnm = e.getAttributes(); Node s = nnm.getNamedItem("valeur"); String image = null; String result = s.getTextContent(); int compare = Integer.valueOf(result); if (compare == valeur){ Node NoeudImage = nnm.getNamedItem("image"); image = NoeudImage.getTextContent(); //System.out.println(image); } return image; } }
avec un xml :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class TestIncidents { public static void main(String argv[]) { RechercheXML ImageXML = new RechercheXML("incidents.xml"); String s = ImageXML.getImage(64); System.out.println(s); } }
Mais quand je veux afficher ma chaine dans un TextView sur Android, ca me renvoit une chaîne null, y'a t'il des problèmes d'incompatibilité de code entre mes deux projets ?Code:
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 <?xml version="1.0" encoding="utf-8" ?> <incidents> <menu nom="Sinistre" image="collectearretee.png"> <item nom="Véhicule" image="vehicule.png" valeur="1" /> <item nom="Bâtiment" image="maison.png" valeur="2" /> <item nom="Voirie" image="circulation.png" valeur="3" /> <item nom="Blessé" image="sinistre_blesse.png" valeur="4" /> </menu> <menu nom="Accessibilité" image="circulation.png"> <item nom="Élagage" image="elagage.png" valeur="5" /> <item nom="Route barrée" image="routebarree.png" valeur="6" /> <item nom="Stationnement gênant" image="stationnement.png" valeur="7" /> <item nom="Ligne électrique" image="electricite.jpg" valeur="64" /> </menu> <menu nom="PAV" image="pav.png"> <item nom="Encombrants" image="encombrants.png" valeur="44" /> <item nom="Sale" image="colonnetaguee.png" valeur="45" /> <item nom="À réparer" image="colonneareparer.png" valeur="46" /> <item nom="À remplacer" valeur="47" image="pavachanger.png" /> <menu nom="Taux" image="remplissageTaux.png"> <menu nom="Verre" image="verre.png"> <item nom="0%" image="remplissage0.png" valeur="66" /> <item nom="25%" image="remplissage25.png" valeur="67" /> <item nom="50%" image="remplissage50.png" valeur="68" /> <item nom="75%" image="remplissage75.png" valeur="69" /> <item nom="100%" image="remplissage100.png" valeur="70" /> <item nom="Déborde" image="remplissageSup100.png" valeur="71" /> </menu> <menu nom="JRM" image="jrm.png"> <item nom="0%" image="remplissage0.png" valeur="72" /> <item nom="25%" image="remplissage25.png" valeur="73" /> <item nom="50%" image="remplissage50.png" valeur="74" /> <item nom="75%" image="remplissage75.png" valeur="75" /> <item nom="100%" image="remplissage100.png" valeur="76" /> <item nom="Déborde" image="remplissageSup100.png" valeur="77" /> </menu> <menu nom="OM" image="OM.png"> <item nom="0%" image="remplissage0.png" valeur="78" /> <item nom="25%" image="remplissage25.png" valeur="79" /> <item nom="50%" image="remplissage50.png" valeur="80" /> <item nom="75%" image="remplissage75.png" valeur="81" /> <item nom="100%" image="remplissage100.png" valeur="82" /> <item nom="Déborde" image="remplissageSup100.png" valeur="83" /> </menu> <menu nom="DEL" image="emballage.png"> <item nom="0%" image="remplissage0.png" valeur="84" /> <item nom="25%" image="remplissage25.png" valeur="85" /> <item nom="50%" image="remplissage50.png" valeur="86" /> <item nom="75%" image="remplissage75.png" valeur="87" /> <item nom="100%" image="remplissage100.png" valeur="88" /> <item nom="Déborde" image="remplissageSup100.png" valeur="89" /> </menu> </menu> </menu> <menu nom="Decheterie" image="transport.png"> <item nom="A remplacer" valeur="54" image="transportaremplacer.png"/> <item nom="A réparer" valeur="55" image="transportareparer.png"/> <menu nom="Poids" image="pontbascule.png"> <item nom="Gravats" image="gravats.png" valeur="56" saisie="poidsDyn numAdr"/> <item nom="Bois" image="bois.png" valeur="57" saisie="poidsDyn numAdr"/> <item nom="Déchet vert" image="dechetvert.png" valeur="58" saisie="poidsDyn numAdr"/> <item nom="Carton" image="carton.png" valeur="59" saisie="poidsDyn numAdr"/> <item nom="DEL" image="emballage.png" valeur="60" saisie="poidsDyn numAdr"/> <item nom="Feraille" image="ferraille.png" valeur="61" saisie="poidsDyn numAdr"/> <item nom="Non recyclable" image="nonrecyclable.png" valeur="65" saisie="poidsDyn numAdr"/> <menu nom="Plastique" image="PLASTIQUE.jpg"> <item nom="CD/DVD" image="CD.jpg" valeur="92" saisie="poidsDyn numAdr"/> <item nom="Film" image="POCHEP.jpg" valeur="93" saisie="poidsDyn numAdr"/> <item nom="Polystirène" image="POLY.jpg" valeur="96" saisie="poidsDyn numAdr"/> <item nom="Mélange" image="PLASTIQUE.jpg" valeur="94" saisie="poidsDyn numAdr"/> </menu> </menu> </menu> <menu nom="Vidage" image="vidage.png"> <item nom="OM" valeur="62" image="bacom.png" saisie="poidsDyn"/> <item nom="DEL" valeur="63" image="bacdel.png" saisie="poidsDyn"/> <item nom="JRM" valeur="90" image="jrm.png" saisie="poidsDyn"/> <item nom="Verre" valeur="91" image="VERRE.png" saisie="poidsDyn"/> </menu> </incidents>
Quand je veux affichier un getFichier() dans un TextView, ça maffiche bien le fichier donc ça vient de mon getImage je suppose ? ...