Salut, j'ai écris un code java qui lit un document xml depuis internet, le voilà:
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;
 
		}
 
	}
Les erreurs que j'arrive pas à les résoudre sont:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
import org.jdom.input.SAXBuilder;
import org.jdom2.JDOMException;
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é.
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