salve!
sto cercando di reperire informazioni da Google Weather API attravers java e XPath.
ma ho dei problemi:
codice:
public class CheckWeather {

    public void takeWeather(String city) throws ParserConfigurationException, MalformedURLException, IOException, SAXException, XPathExpressionException {
        URL url = new URL("http://www.google.com/ig/api?weather=roma&hl=it");
        URLConnection conn = url.openConnection();
        InputStream in = conn.getInputStream();
        InputSource inputSource = new InputSource(in);
        inputSource.setEncoding("ISO-8859-1");
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document doc = builder.parse(inputSource);
        XPath xpath = XPathFactory.newInstance().newXPath();
        XPathExpression expr = xpath.compile("//weather/forecast_information/"); // ECCEZIONE
        Object result = expr.evaluate(doc, XPathConstants.NODESET);
        NodeList nodes = (NodeList) result;
        for (int i = 0; i < nodes.getLength(); i++) {
            System.out.println(nodes.item(i).getNodeValue());
        }
    }
}
mi viene sollevata un'eccezione alla riga che ho commentato.
probabilmente nn ho ben capito io come interrogare la risposta del servizio che ha una forma del genere:
codice:
<xml_api_reply version="1">
 <weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0>

   <forecast_information><city data="Rome, Lazio"/><postal_code data="roma"/>
      <latitude_e6 data=""/>
      <longitude_e6 data=""/>
      <forecast_date data="2012-01-28"/>
      <current_date_time data="1970-01-01 00:00:00 +0000"/>
      <unit_system data="SI"/></forecast_information>
    <current_conditions>
       <condition data="Nuvoloso"/>
       <temp_f data="45"/>
       <temp_c data="7"/>
       <humidity data="Umidità: 81%"/>
       <icon data="/ig/images/weather/cloudy.gif"/>
       <wind_condition data="Vento: E a 8 km/h"/>
    </current_conditions>
..........
l'inizio dell'errore è questo:
codice:
javax.xml.transform.TransformerException: È previsto un passo di posizione dopo il token '/' o '//'.
solo che nn ho capito come risolverlo.