Проблема с пространством имен PHP SimpleXML

Я пытаюсь получить значение entry-> id и entry-> cap: parameter-> для каждой записи в RSS-канале …. ниже – код, который я использую. Он правильно показывает идентификатор, но не отображает поле значений …. пожалуйста, помогите.

$url = 'http://alerts.weather.gov/cap/us.php?x=1'; $cap = simplexml_load_file($url); foreach($cap->entry as $entry){ echo 'ID: ', $entry->id, "\n"; echo 'VTEC: ', $entry->children('cap', true)->parameter->value, "\n"; echo "<hr>"; } 

Спасибо за помощь заранее.

Related of "Проблема с пространством имен PHP SimpleXML"

Элемент <value> не находится в том же пространстве имен, что и <cap:parameter> :

 <cap:parameter> <valueName>VTEC</valueName> <value>/O.CON.KMPX.FL.W.0012.000000T0000Z-110517T1800Z/</value> </cap:parameter> 

Поэтому вам нужно снова позвонить children() .

Код ( демо )

 $feed = simplexml_load_file('http://alerts.weather.gov/cap/us.php?x=1'); foreach ($feed->entry as $entry){ printf( "ID: %s\nVTEC: %s\n<hr>", $entry->id, $entry->children('cap', true)->parameter->children()->value ); }