IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Convertir un fichier XML en URL


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut Convertir un fichier XML en URL
    Bonjour tout le monde

    Je vous explique mon problème, je dois faire une application avec un mode déconnecté.
    J'ai donc fait la structure suivante : Lorsque le téléphone est connecté à internet, il parse le flux rss et il l'enregistre dans un fichier xml qui sera sauvegardé dans la carte sd. Comme ca je peux avoir la meme structure (du fait que mon application lit des flux rss donc en gros un fichier xml)

    Puis lorsque le téléphone n'est pas connecté sur internet je voudrais qu'au lieu que le téléphone aille lire sur le flux rss il lit le fichier xml qui est sauvegardé dans la carte sd.
    J'ai essayé de faire pour le convertir en URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	File myFile = new File("/sdcardfile.xml");
    	URL rssUrl=myFile.toURI().toURL();
    Mais cela ne marche pas
    Y'a t'il un moyen de convertir un fichier XML en URL ou bien sinon un autre moyen de lire le fichier xml qui est sur la carte sd lorsque le téléphone n'est pas connecté sur internet

    Merci ^^

  2. #2
    Membre éprouvé Avatar de linked
    Profil pro
    Développeur Android
    Inscrit en
    Mai 2008
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Android

    Informations forums :
    Inscription : Mai 2008
    Messages : 88
    Par défaut
    Il manque sûrement le chemin de la carte SD, on peut la récupérer avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getExternalStorageDirectory()

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    bonsoir et merci de ton aide

    Malheureusement cela ne marche toujours pas ...
    J'ai fait ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    File sdCard = Environment.getExternalStorageDirectory();
    				File dir = new File (sdCard.getAbsolutePath() + "/sdcard/monapp/");
    				File myFile = new File(dir, "mysdfile.xml");
    				URL rssUrl=myFile.toURI().toURL();
    Et cela ne marche toujours pas...

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Quel est exactement le probleme ?

    Lire un stream XML ?

    Que le stream vienne d'internet (URL), ou d'un fichier c'est du pareil au même ...
    Dans un cas on a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XML.parse(connection.getIntputStream())
    Dans l'autre cas on a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XML.parse(new FileInputStream(file));
    Maintenant, un nom de fichier sur la carte 'sd': c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    File sdfile = new File(Environment.getExternalStorageDirectory(),"monapp/file.xml");
    (nul besoin de faire de la concaténation de chaines, surtout qu'on sait jamais si le chemin se termine par un '/' ou non... autant laisser le système le faire !)

    Enfin bref, je vois pas l'interet de convertir en URL
    (sinon, l'URL c'est "file://..... le path complet ..." à priori)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Bonjour,

    Je pensais le convertir en URL car pour afficher mes données qui viennent d'un flux rss j'utilise les instructions suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    URL rssUrl = new URL("lien");	   	// lien FR
    SAXParserFactory mySAXParserFactory = SAXParserFactory.newInstance();
    SAXParser mySAXParser = mySAXParserFactory.newSAXParser();
    XMLReader myXMLReader = mySAXParser.getXMLReader();
    RSSHandler myRSSHandler = new RSSHandler();
    myXMLReader.setContentHandler(myRSSHandler);
    InputSource myInputSource = new InputSource(rssUrl.openStream());
    myXMLReader.parse(myInputSource);
    myRssFeed = myRSSHandler.getFeed();
    Je voudrais juste changer le rssUrl par le fichier xml qui est dans la caarte sd mais étant donnée que c'est une File, InputSource ne marche pas...
    C'est pour cela que je vous ai demandé si il était possible de changer le file par un URL.

    Merci

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Bien sur que si... InputSource fonctionne parfaitement dans le cas d'un fichier...

    Comme je disais, l'InputSource est l'interface entre SAX et un InputStream...

    Cet InputStream peut venir de rssUrl.openStream() ou de new FileInputStrem(file) ....

Discussions similaires

  1. Convertir un fichier xml en une table Access
    Par nomade333 dans le forum VBA Access
    Réponses: 10
    Dernier message: 29/03/2008, 19h45
  2. [DOM] [XSL] Convertir un fichier XML vers un fichier CSS
    Par Invité dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 23/03/2007, 10h49
  3. [DOM] Mettre à jour un fichier XML (par URL)
    Par ensiie dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 21/01/2007, 12h56
  4. comment convertir un fichier xml en tableau de string (java)
    Par l'indien dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 27/02/2006, 21h00
  5. convertir un fichier XML en UML
    Par longbeach dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/07/2005, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo