PHPのSimpleXMLとDOMDocumentを使用して、GoogleMerchantRSSフィードを生成しようとしています。
実際の生成コードは次のようになります。
$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によると、2行目にエラーがあります。より正確には、Validomeは、それがで終わるべきではなく/>
、ただで終わるべきであると言ってい>
ます。問題は、私がそれを制御できないことです。その部分はによって生成されました:
$pRSS = $dom->createElement('rss');
$pRSS->setAttribute('version', '2.0');
$pRSS->setAttribute('xmlns:g', 'http://base.google.com/ns/1.0');