Я пытаюсь сгенерировать RSS-канал Google Merchant, используя PHP SimpleXML и DOMDocument.
Фактический код генерации выглядит так:
$dom = new DOMDocument('1.0', 'utf-8');
$dom->formatOutput = true;
$pRSS = $dom->createElement('rss');
$pRSS->setAttribute('version', '2.0');
$pRSS->setAttribute('xmlns:g', 'http://base.google.com/ns/1.0');
$dom->appendChild($pRSS);
$domnode = dom_import_simplexml($xml);
$domnode = $dom->importNode($domnode, true);
$domnode = $dom->appendChild($domnode);
$dom->save('googleproductfeed.xml');
($ xml содержит все данные, но это не относится к моей проблеме)
Все это генерируется нормально, но здесь есть ошибка XML:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2" xmlns:g="http://base.google.com/ns/1.0"/>
Согласно Google Merchant, Google Chrome и validome.org,во второй строке есть ошибка.Точнее, Валидом говорит, что он должен заканчиваться не />
, а просто >
.Проблема в том, что я не могу это контролировать.Эта часть была сгенерирована:
$pRSS = $dom->createElement('rss');
$pRSS->setAttribute('version', '2.0');
$pRSS->setAttribute('xmlns:g', 'http://base.google.com/ns/1.0');