XML получение атрибутов полей с одинаковым именем

09.07.2019

Например, если нужно получить параметры товара из YML (выгрузки в Яндекс Маркет)

Пример:

 
<param name="EAN код">5999558431013</param>
<param name="Тип оборудования">Винный шкаф</param>
<param name="Производитель">Dunavox - Венгрия</param>
<param name="Срок гарантии">3 года</param>
<param name="Страна сборки">Китай</param>

 
$oXml = simplexml_load_file('http://.../partners.xml');
foreach($oXml->shop->offers->offer as $oOffer)
{
  $oItem = new stdClass();

  $oItem->params = array();
  foreach($oOffer->param as $param)
  {
    $param = (array) $param;
    $oItem->params[] = array(
      $param["@attributes"]["name"] => $param[0]
    );
  }
}
echo '<pre>';
  print_r($oItem);
echo '</pre>';


Категории: PHP
Яндекс.Метрика