Lecture d'un fichier XML se trouvant dans un serveur
Salut
j'ai ecrit un programme java qui permet de lire un fichier XML se trouvant à l'adresse suivante http://localhost:8080/webdav/user.xml et permettant d'afficher les valeurs d'une balise spécifique du fichier. Le code de mon programme est le suivnat:
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
| package xml;
import java.io.File;
import java.net.URI;
import java.net.URL;
import java.util.List;
import java.util.Vector;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
public class TestXML {
public org.jdom.Document document;
public Element racine;
public Vector<Object> h;
String nom, cin;
String path="http://localhost:8080/webdav/user.xml";
public static void main(String[] args) {
try {
TestXML test = new TestXML();
URL url=new URL(test.path);
URI uri=url.toURI();
// On crée une instance de SAXBuilder
SAXBuilder sxb = new SAXBuilder();
// On crée un nouveau document JDOM avec en argument le fichier
// XML
// Le parsing est terminé
test.document = sxb.build(new File(uri));
// On initialise un nouvel élément racine avec l'élément racine du
// document.
test.racine = test.document.getRootElement();
// System.out.println(test.racine);
test.h= new Vector<Object>();
//on recupere l'element results
Element results = (Element)test.racine.getChildren().get(1);
//System.out.println(results);
Element result = (Element)results.getChildren().get(0);
//on a recupere les binding
List<Element> listparam = result.getChildren();
for (Element e : listparam)
{
// On affiche le nom de l'element courant
//System.out.println(e);
for(Element el : (List<Element>)e.getChildren())
{
if(el.getName().equals("literal"))
{
System.out.println(el.getText());
}//fin if
}//fin for
}//fin for
} catch (Exception e) {
e.printStackTrace();
}
}
} |
et lorsque je l'éxecute j'ai obtenu l'erreur suivante : java.lang.IllegalArgumentException: URI scheme is not "file"
at java.io.File.<init>(File.java:383)
at xml.TestXML.main(TestXML.java:36)
S'il vous plait aider moi pour resoudre le problème.
Merci d'avance pour votre aide.