1

我想通过使用 Yahoo Wheater (xml)、xpath 和 php 来了解一个城市的温度。这是我使用的代码,但它不起作用。我可以获得一个元素(描述),但不能获得我想要的属性(温度)。

$xml = new DOMDocument();
$xml->load("http://weather.yahooapis.com/forecastrss?w=12818432&u=c");

$xpath = new DOMXpath($xml);
$result = $xpath->query("//channel");

foreach ($result as $value) {
    //$weather = $value->getElementsByTagName("description");
    $weather = $value->getElementsByTagName("yweather:wind");
    $temp = $weather->getAttribute("chill");

    print $temp->item(0)->textContent;
}
4

1 回答 1

1

您应该使用getElementsByTagNameNS()来获取命名空间中的元素。

$ns_yweather = "http://xml.weather.yahoo.com/ns/rss/1.0";
$weer = $value->getElementsByTagNameNS($ns_yweather, "wind")->item(0);
print $weer->getAttribute("chill");
于 2013-05-18T12:48:24.047 回答