Задать вопрос
@pillson

Проблема с формированием xml php?

Добрый день. Делаю xml файл для загрузки в яндекс, но столкнулся с проблемой, не могу вывести самый главный верхний узел, вроде остальное все пошло хорошо, а вот главный не выходит, нужно чтобы корневой узел был yml_catalog

вот так

<?xml version="1.0" encoding="UTF-8"?>
<yml_catalog>
<shop>
  <offer id="268467" available="true">


$actualIyems = Category::actualIyems();
       
        $doc = new DOMDocument('1.0', 'UTF-8');
        
        $doc->formatOutput = true;
        
        $shop = $doc->createElement('shop');
        $shop = $doc->appendChild($shop);
        
        foreach ( $actualIyems as $actualIyemsOne ) { 
            
            $root = $doc->createElement('offer');
            $root = $shop->appendChild($root);
    
            // Добавляем id как атрибут к родителю
            $attr = $doc->createAttribute('id');
            $attr->appendChild($doc->createTextNode($actualIyemsOne['id']));
            $root->appendChild($attr);
            // Конец добавления атрибута id
            
            // Добавляем наличие как атрибут к родителю
            $attrAv = $doc->createAttribute('available');
            $attrAv->appendChild($doc->createTextNode('true'));
            $root->appendChild($attrAv);
            // Конец добавления атрибута наличия
    
                // Формируем url товара
                $url = $doc->createElement('url');
                $url = $root->appendChild($url);
                
                $text = $doc->createTextNode('https://mir-watch.ru/product/'.$actualIyemsOne['watch_slug']);
                $text = $url->appendChild($text);
                // Конец формирования товара
                
                // Формируем цену товара
                $price = $doc->createElement('price');
                $price = $root->appendChild($price);
        
                $textCat = $doc->createTextNode('1');
                $textCat = $cat->appendChild($textCat);
                // Конец формирования валюты
                
                $textPic = $doc->createTextNode('es/'.$actualIyemsOne['watch_image']);
                $textPic = $pic->appendChild($textPic);
                // Конец формирования картинки
                
                // Формируем имя товара
                $name = $doc->createElement('name');
                $name = $root->appendChild($name);
                
                $textName = $doc->createTextNode($actualIyemsOne['watch']);
                $textName = $name->appendChild($textName);
                // Конец формирования имени
                
                // Формируем бренд товара
                $vendor = $doc->createElement('vendor');
                $vendor = $root->appendChild($vendor);
                
                $textVendor = $doc->createTextNode($actualIyemsOne['watch_brand']);
                $textVendor = $vendor->appendChild($textVendor);
                // Конец формирования бренда
                
                // Формируем описание товара
                $desc = $doc->createElement('description');
                $desc = $root->appendChild($desc);
                
                $textDesc = $doc->createTextNode($actualIyemsOne['watch_description']);
                $textDesc = $desc->appendChild($textDesc);
                // Конец формирования описания
            
        }
            echo $doc->save("yandex.xml");
  • Вопрос задан
  • 66 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
New_Horizons
@New_Horizons
Бред:
ну так ты делаешь
$shop = $doc->createElement('shop');
вот сделай сначала тоже самое, только с yml_catalog
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы