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

Servlets/JSP Java Discussion :

Question de récupération de flux XML


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    91
    Points
    46
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2004
    Messages : 91
    Points : 46
    Par défaut Question de récupération de flux XML
    Bonjour,

    Je suis en cours de développement pour un site utilisant l'API Google Maps.
    L'API fournit un lien http pour geolocalisé des lieux comme ci-dessous :

    "http://maps.google.com/maps/geo?q=411+Woody+Hayes+Drive,+Columbus,+OH&output=xml&key=$key"

    J'ai trouvé un exemple en PHP qui fait ceci :
    <?php
    // Your Google Maps API key
    $key = "YOUR_KEY_HERE";

    // Desired address
    $address = "http://maps.google.com/maps/geo?q=411+Woody+Hayes+Drive,+Columbus,+OH&output=xml&key=$key";

    // Retrieve the URL contents
    $page = file_get_contents($address);

    // Parse the returned XML file
    $xml = new SimpleXMLElement($page);

    // Retrieve the desired XML node
    echo $xml->Response->Placemark->Point->coordinates;
    ?>

    Mon problème, vous l'aurez sans doute compris est de faire la même chose mais dans une page JSP.
    Tout me semble simple mise à part le fait de remplacer le "file_get_contents"

    J'ai chercher sur le net, mais je ne trouve pas d'équivalant.
    Merci d'avance de votre aide.

    Imhotep

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2003
    Messages
    29
    Points
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 29
    Points : 26
    Par défaut
    Voici un code qui te permet de shooter une page depuis une servlet et de récupérer son contenu :
    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
    66
    67
    68
    69
     
    /**
    	 * @param pUrl
    	 * @return
    	 * Send an Http request (used to invoke the billing url)
    	 */
    	public static String sendRequest(String pUrl) {
    		InputStream is = null;
     
    		InputStreamReader  reader = null;
    		Charset charset = Charset.forName("UTF-8");
    		URL url = null;     
    		int readTimeOut = 10000 ;
    		String content=null;
    		try {
                Properties p = System.getProperties();
     
                p.put("sun.net.client.defaultConnectTimeout",Integer.toString(readTimeOut));
                p.put("sun.net.client.defaultReadTimeout",Integer.toString(readTimeOut));
     
               System.setProperties(p);
     
                url = new URL(pUrl);
     
                is = url.openStream();   
                reader = new InputStreamReader(is, charset); 
                content = ReadContent(reader);
    	    }
    	    catch (Exception e) {
    		      logExtErrors.error(e.getMessage());
    		      logExtErrors.error(e.getStackTrace());
     
    	    }
    	    finally{
    	    	 try {
                   if(is!=null)
                	   is.close();
     
                  if(reader!=null)
                     reader.close();
                 }catch (IOException e1) {}
     
    		}
     
    		return content;
    	}
     
     
    	private static String ReadContent(InputStreamReader reader)
    	{
    		BufferedReader in = null;
    		StringBuffer strBuf = new StringBuffer();
    		try
    		{
    			in = new BufferedReader (reader);
    			String line;
    			while ((line = in.readLine()) != null) {
    				strBuf.append(line);
    				strBuf.append("\n");
    			}
    		}catch (IOException e){e.printStackTrace();}
     
    		String content = null;
    		if (in != null)
    			content = strBuf.toString();
     
    		return(content);
     
    	}
    Pour l'utiliser directement dans une jsp (déconseillé, le but d'une jsp est l'affichage et non le traitement) tu peux utiliser les balises <%...%> (à confirmer je ne me souviens pas très bien).

Discussions similaires

  1. récupération données flux XML
    Par omelhor dans le forum Langage
    Réponses: 0
    Dernier message: 10/01/2011, 16h13
  2. [SimpleXML] Récupération données flux xml
    Par antitrust56 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 22/11/2007, 15h08
  3. [FTP] Récupération de flux xml
    Par Alcohollica dans le forum Langage
    Réponses: 2
    Dernier message: 13/03/2007, 10h01
  4. Récupération de flux xml
    Par Griffin_2 dans le forum ASP
    Réponses: 11
    Dernier message: 05/07/2006, 19h15
  5. Webservice : récupération, formatage flux XML
    Par romain_paris dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 31/10/2005, 14h54

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