解析XML(PHP)

解析XML(PHP),php,xml,parsing,Php,Xml,Parsing,我正在使用SimpleXML。我想获取此节点的文本属性 <yweather:condition text="Mostly Cloudy" ...... 您可能会使用$xml->condition,但在此之前可能会有分支。对$xml进行打印以查看结构的外观。从那里您应该可以看到如何访问信息。看起来您正在尝试访问一个属性,该属性存储在$xml->yweather->attributes()中的数组中,因此: 要处理名称空间,需要使用children()获取该名称空间的成员 $weathe

我正在使用SimpleXML。我想获取此节点的文本属性

<yweather:condition  text="Mostly Cloudy"  ......

您可能会使用$xml->condition,但在此之前可能会有分支。

对$xml进行打印以查看结构的外观。从那里您应该可以看到如何访问信息。

看起来您正在尝试访问一个属性,该属性存储在$xml->yweather->attributes()中的数组中,因此:

要处理名称空间,需要使用children()获取该名称空间的成员

$weather_items = $xml->channel->item->children("http://xml.weather.yahoo.com/ns/rss/1.0");

请注意,您显示的字符串是提要的一部分,特别是RSS格式的Yahoo Weather提要。

使用DOM时,可能会出现完全重复的情况:您的“不工作”代码不起作用,因为您做错了:
是尝试
rss/channel/item
时的
rss/condition
simplexmlement对象()
的子对象。另外,问题已编辑,请再次查看
$attributes = $xml->condition->attributes();
$weather = $attributes['text'];
$weather_items = $xml->channel->item->children("http://xml.weather.yahoo.com/ns/rss/1.0");