2010-09-28 6 views
3

Donc je suis assis ici avec Google Geocoder, qui renvoie un XML via 'GOOGLE_URL/xml? Address = input & sensor = false'. J'ai besoin de le récupérer en utilisant Java et de l'analyser dans un objet JSON et de l'envoyer en avant.Analyse XML externe à JSON en Java?

Comment est-ce que je ferais cela? (Non ce n'est pas un devoir) Notez que cela devrait de préférence se faire dans les bibliothèques standard. En ce moment j'essaie de travailler si cela peut être fait avec par exemple SAX.

Répondre

5

Voici un exemple de travail qui montre comment se connecter à une URL, téléchargez XML et de le convertir au format JSON:

  1. Se connecter à une URL et télécharger le XML comme une chaîne:

    String str = "http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true"; 
    URL url = new URL(str); 
    InputStream is = url.openStream(); 
    int ptr = 0; 
    StringBuilder builder = new StringBuilder(); 
    while ((ptr = is.read()) != -1) { 
        builder.append((char) ptr); 
    } 
    String xml = builder.toString(); 
    
  2. Téléchargez la bibliothèque JSON à partir de here. (Vous devrez compiler et faire en sorte que les classes sont sur votre chemin de classe.)

  3. Convertir le XML dans un objet JSON:

    JSONObject jsonObject = XML.toJSONObject(xml); 
    System.out.println(jsonObject); 
    
+0

Ce n'est pas très descriptif, est-il maintenant? (Edit: Ok maintenant c'est un peu plus descriptif, mais je suis toujours dans le noir sur toute la partie analyse) – Mantar

+0

J'ai ajouté du code pour illustrer. – dogbane

+0

Cela fait beaucoup plus de sens (Avec vos informations précédentes tho) merci! – Mantar