我正在制作一个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"/>
(行可以在链接的底部找到)
我不知道该怎么做 - 请帮忙。我们将非常感谢源代码,示例和线索。
答案 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。那么,你去吧
我想这已经完成了。 (在Google上很容易找到)http://www.javahouse.altervista.org/gambino/Articolo_lettura_feed_da_java_en.html