2010-09-17 11 views
0

Je travaille sur le parsing de la réponse d'un service Web: « http://www.google.com/ig/api?weather=Ahmedabad »Parsing de cette chaîne

Maintenant, je vais en parallèle avec un exemple l'analyse syntaxique disponible sur Internet, Ceci est ma réponse:

<?xml version="1.0" ?> 
- <xml_api_reply version="1"> 
- <current_conditions> 
    <condition data="Haze" /> 
    <temp_f data="84" /> 
    <temp_c data="29" /> 
    <humidity data="Humidity: 74%" /> 
    <icon data="/ig/images/weather/haze.gif" /> 
    <wind_condition data="Wind: NW at 13 mph" /> 
- </current_conditions> 

Quelqu'un peut-il m'aider à créer des objets des tags externes si nécessaire? Désolé si je pose une question stupide. Merci, david

+0

votre réponse xml n'est pas visibile, essayez quand même de chercher « parse xml » ici, vous devriez trouver beaucoup de ressources – WarrenFaith

Répondre

0

Utilisez l'analyseur syntaxique SAX et la méthode d'analyse (InputSource is, DefaultHandler dh). Écrivez votre propre classe qui étend DefaultHandler. La logique d'analyse est dans le gestionnaire.

Valeurs entre les balises
Utilisez les caractères de méthode (char [] ch, int start, int longueur) pour stocker les caractères entre les balises xml dans une variable temporaire. Quelque chose comme "tempValue.append (char, start, length);" le fera.
Dans la méthode endElement (Chaîne uri, Chaîne nom local, Chaîne qName), vous pouvez ensuite enregistrer la valeur de la température lorsque vous connaissez le nom local, par exemple le "nom de la balise".

procédé

de valeurs d'attribut
startElement (String uri, String localName, String qName, les attributs des attributs) permet de lire les valeurs des attributs dans une balise. Par exemple < condition data = "Haze" /> contient la valeur "Haze" qui vient avec l'attribut "data" lorsque localName est condition. Dans ce cas, essayez "attributes.getValue (" data ");"

Bonne chance