0

可能重复:
读取名称中包含“列 - :”的属性时出现 php simplexml 问题

我正在学习 PHP,所以我正在制作一个天气应用程序来根据天气显示图像。我正在使用雅虎天气 API。

我的问题是我正在寻找一种方法来获取位于 yweather:condition 旁边的天气代码。我找到了simpleXML,但不知道如何抓取位于雅虎以以下形式处理其xml的方式的东西

<yweather:condition text="Fair" code="34" temp="37"

所以我的问题是如何获取 Yahoo 天气的code="34"部分并将其显示为变量,例如$weathercode = 34;

感谢您提供的所有帮助,如果您需要,我会在这里提供更多详细信息!

另外,我不确定这篇文章的标题是否正确,如果不对,请见谅!

4

2 回答 2

1

您可以按照与下面类似的方式使用 SimpleXMLElement::attributes 调用。

$string = {Yahoo Weather Feed}

$xml = simplexml_load_string($string);

$weathercode = $xml->channel->item->children('yweather', true)->condition[0]->attributes()->code;

您可能需要修补以使其正确,但这只是一个指南。

参考: http: //php.net/manual/en/simplexmlelement.attributes.php

于 2012-11-12T22:07:20.543 回答
0

您可以尝试以下方法:

$xml = simplexml_load_file('http://weather.yahooapis.com/forecastrss?w=12793465&u=f');
var_dump($xml);

这将加载 URL 并转储 SimpleXML 对象。

更多关于 simplexml_load_file 这里

于 2012-11-12T22:05:17.987 回答