android et web service
Bonsoir,
je souhaite simplement crée un lecteur de Flux RSS et depuis hier soir je suis en train de tournée en rond sur les différents tuto disponibles ici et là...
Après avoir tester les divers méthodes j'en suis arrivé au code ci-dessus qui m'a parut être le plus simple.
Le problème est que celui ci ne récupère que les valeurs représentés dans des balises du genre :
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 package com.chamsou.android.memo_duo; import java.net.URL; import java.util.ArrayList; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class memo_duo extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); try { ArrayList listeRecette = renvoi_liste_recette_xml(); String myString = ""; for(int i=0; i<listeRecette.size(); i++) { ArrayList tmp= (ArrayList) listeRecette.get(i); myString = myString + tmp.get(0) + " importation réussie\n"; } TextView Afficher = (TextView) findViewById(R.id.TextView01); Afficher.setText(myString); } catch (Exception e) { } } public ArrayList<ArrayList> renvoi_liste_recette_xml() throws Exception{ //***********************création de notre tableau dinamique ArrayList<ArrayList> aTableRetour = new ArrayList<ArrayList>(); //************************récupération du flux wml URL myURL = new URL("http://java.developpez.com/index/rss"); DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance(); // création d'un constructeur de documents DocumentBuilder constructeur = fabrique.newDocumentBuilder(); //*****************lecture du flux xml************** Document document = constructeur.parse(myURL.openStream()); Element racine = document.getDocumentElement(); NodeList liste = racine.getElementsByTagName("item"); //remplissage de mon tableau for(int i=0; i<liste.getLength(); i++){ ArrayList<String> aTableauTmp = new ArrayList<String>(); Element E1= (Element) liste.item(i); //aTableRetour[i]= ""; aTableauTmp.add(E1.getAttribute("title")); aTableauTmp.add(E1.getAttribute("description")); aTableRetour.add(aTableauTmp); } return aTableRetour; } }
alors que les fichiers XML des divers flux ne sont jamais représentés ainsi mais plutôt comme cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <item titre="test1" texte="teste1"> </tiem>
Dans le premier cas il m'affiche les valeurs et le second n'affiche rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <item> <titre>teste1</titre> <texte>teste1</texte> </tiem>
Je me résigne donc a venir poster ici même si sa a l'air de quelque chose de basicMerci d'avance à ceux qui feront un geste lol...
divers sources qui m'ont amené à ce code :
http://java.developpez.com/faq/xml/?page=sommaire
Partager