如何从URL xml文件中获取数据?

时间:2012-02-19 15:02:00

标签: java android xml

我正在制作一个Android应用程序 - 我需要有天气信息。我从雅虎的天气中发现了这个。这是一个XML,我想要的信息如:“day”,“low”和“high”。

参考:http://weather.yahooapis.com/forecastrss?w=12718298&u=c

<yweather:forecast day="Sun" date="19 Feb 2012" low="-2" high="3" text="Clear" code="31"/>

(行可以在链接的底部找到)

我不知道该怎么做 - 请帮忙。我们将非常感谢源代码,示例和线索。

3 个答案:

答案 0 :(得分:4)

以下是未来用户的解决方案:

 InputStream inputXml = null;
    try
    {



             inputXml  = new URL("http://weather.yahooapis.com/forecastrss?w=12718298&u=c").openConnection().getInputStream();



       DocumentBuilderFactory factory = DocumentBuilderFactory.
                                        newInstance();
       DocumentBuilder builder = factory.newDocumentBuilder();
       Document doc = builder.parse(inputXml);
       NodeList nodi = doc.getElementsByTagName("yweather:forecast");

       if (nodi.getLength() > 0)
       {


          Element nodo = (Element)nodi.item(0);

          String strLow = nodo.getAttribute("low");
          Element nodo1 = (Element)nodi.item(0);
          String strHigh = nodo1.getAttribute("high");
          System.out.println("Temperature low: " + strLow);
          System.out.println("Temperature high: " + strHigh);

        }
    }
    catch (Exception ex)
    {
       System.out.println(ex.getMessage());
    }
    finally
    {
       try
       {
          if (inputXml != null)
          inputXml.close();
       }
       catch (IOException ex)
       {
          System.out.println(ex.getMessage());
       }
    }
 }

答案 1 :(得分:0)

自从我在Android中使用XML以来已经有几年了,但是当我开始使用时,这对我很有帮助:anddev.org

答案 2 :(得分:0)

该链接似乎是一个Feed。 (显然是XML)。 Java中有许多feed-reader API。那么,你去吧

  1. 阅读Feed文档http://developer.yahoo.com/weather/
  2. 了解如何解析/阅读Feed Rome Library to read feeds Java
  3. 拉出您想要的字段。
  4. 我想这已经完成了。 (在Google上很容易找到)http://www.javahouse.altervista.org/gambino/Articolo_lettura_feed_da_java_en.html