Salut, j'ai écris un code java qui lit un document xml depuis internet, le voilà:
Les erreurs que j'arrive pas à les résoudre sont:
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 package maj; import java.io.File; import org.w3c.dom.Document; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.DocumentBuilderFactory; import org.xml.sax.SAXException; import java.util.ArrayList; import java.net.URL; import java.net.URLConnection; import java.io.InputStream; import org.w3c.dom.Element; import java.util.List; import java.util.Iterator; import org.jdom.input.SAXBuilder; import org.jdom2.JDOMException; import java.util.Collections; import java.net.MalformedURLException; public class A { private String xmlPath = "Lien vers fichier XML"; //Document xml private Document xmlDocument = null; private ArrayList<String> getVersions(){ ArrayList<String> versions = new ArrayList<String>(); try { URL xmlUrl = new URL(xmlPath); //On ouvre une connections sur la page URLConnection urlConnection = xmlUrl.openConnection(); urlConnection.setUseCaches(false); //On se connecte sur cette page urlConnection.connect(); //On récupère le fichier XML sous forme de flux InputStream stream = urlConnection.getInputStream(); SAXBuilder sxb = new SAXBuilder(); //On crée le document xml avec son flux try {xmlDocument = sxb.build(stream); } catch (JDOMException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace();} //On récupère la racine Element racine = xmlDocument.getRootElement(); //On liste toutes les versions List listVersions = racine.getChildren("version"); Iterator iteratorVersions = listVersions.iterator(); //On parcourt toutes les versions while(iteratorVersions.hasNext()){ Element version = (Element)iteratorVersions.next(); Element elementNom = version.getChild("nom"); versions.add(elementNom.getText()); } //On trie la liste Collections.sort(versions); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return versions; } }
the import org.jdom cannot be resolved, j'ai essayé de télécharger jdom et je l'ai ajouté comme external jar mais ça n'a pas marché.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 import org.jdom.input.SAXBuilder; import org.jdom2.JDOMException;
En plus, les méthodes getChildren(), getChild(), getRootElement() et getText() sont indéfinis pour le type Element, voilà je compprends que ce qui manque dans mon code et j'aime bien que vous m'aidiez, merci pour vos réponses.
PS: c'est presque le meme code que celui-ci : http://baptiste-wicht.developpez.com...s/java/update/ , j'ai ajouté ds import
Partager