Мне интересно, как анализировать значения в XML, которые, как представляется, имеют: от их имени. Я использовал:
$response = file_get_contents($url); $data = simplexml_load_string($response);
затем выполните:
foreach($data->item as $key => $current){
Тем не менее, один из последних фидов, которые я получил, имеет двоеточия во имя фида, как показано в примере ниже:
<item> <title>foo</title> <description>foo</description> <ccc:fid>10</ccc:fid> <ccc:bid>6</ccc:bid> </item>
Когда я пытаюсь создать $ current-> ccc: ставка php не добирается до счастья (по праву). Есть ли способ обойти это?
использование ccc: fid является расширением пространства имен, которое должно быть объявлено в xml, чтобы иметь возможность использовать его в библиотеках, таких как simplexml.
Вот несколько примеров описания пространства имен:
Надеюсь, что это поможет, хотя это немного сложно.
Элементы с двоеточиями используют префиксы пространства имен , и это абсолютно корректный XML. При использовании нескольких схем вместе пространства имен помогают различать элементы с одинаковым именем. Как объекты SimpleXMLElement в PHP обрабатывают его, вы можете по существу игнорировать часть перед двоеточием:
$current->fid;
Если вы хотите узнать часть пространства имен имени элемента, вы можете сделать следующее:
$current->fid->getNamespaces();
«Ccc» – это пространство имен – вы должны быть в состоянии сделать
$current->fid