php simplexml在读取名称中包含“column - :”的属性时出现问题

时间:2012-01-18 14:58:29

标签: php xml simplexml

我一直在尝试读取其中包含“:”的xml属性,但我遇到了麻烦......特别是“yweather:condition”

这是我的代码:

 if ($xml = simplexml_load_file("http://weather.yahooapis.com/forecastrss?p=LEXX0003&u=c")) {
    $namespacesMeta = $xml->getNamespaces(true);
    $yweather = $xml->children($namespacesMeta['yweather']);
    $docMeta = $yweather->{'condition'};
    var_dump($docMeta);
}

我在读取了stackoverflow上的另一个线程后到了这里,但结果并不像我预期的那样,我得到以下内容:

对象(的SimpleXMLElement)[3]

您可以查看上面的链接以查看完整的xml,

我想阅读“yweather:condition”中的属性 我知道如何访问和阅读XML的其他部分,但这个很棘手......我也试过getAttributes()并且它不起作用

感谢

1 个答案:

答案 0 :(得分:0)

$docMetaAttributes = $docMeta->attributes(); 

$docMetaAttributes = $docMeta->attributes($namespacesMeta['yweather']);  

用于yweather命名空间中的命名空间属性

http://www.php.net/manual/en/simplexmlelement.attributes.php