Я пытаюсь получить значение 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>"; }
Спасибо за помощь заранее.
Элемент <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 ); }