Я пытаюсь создать карту сайта для Google из информации, предоставленной из моей базы данных, все работает, кроме случаев, когда я пытаюсь использовать image: image и image: loc Я получаю эту ошибку в моем xml-файле:
Эта страница содержит следующие ошибки:
ошибка в строке 8 в столбце 17: Изображение префикса пространства имен на изображении не является
определен
Ниже приведено отображение страницы до первой ошибки.
Мой код:
//create the xml document
$xmlDoc = new DOMDocument('1.0');
//create the root element
$root = $xmlDoc->appendChild(
$xmlDoc->createElement('urlset'));
$root->appendChild(
$xmlDoc->createAttribute("xmlns"))->appendChild(
$xmlDoc->createTextNode('http://www.sitemaps.org/schemas/sitemap/0.9'));
foreach($r as $spirit){
$urlSpirit = 'http://urlroot.com' . $spirit['Category'] . '/' . $spirit['subcategory'] . '/' . $spirit['permName'];
$imgSpirit = 'http://urlroot.com' . $spirit['picture'];
//create a url element
$urlTag = $root->appendChild(
$xmlDoc->createElement("url"));
//create the loc element
$urlTag->appendChild(
$xmlDoc->createElement("loc", $urlSpirit));
//create the changefreq element
$urlTag->appendChild(
$xmlDoc->createElement("changefreq", 'weekly'));
//create the priority element
$urlTag->appendChild(
$xmlDoc->createElement("priority", '1.0'));
//create the lastmod element
$urlTag->appendChild(
$xmlDoc->createElement("lastmod", $spirit['lastReview']));
//create the img element
$imgTag = $urlTag->appendChild(
$xmlDoc->createElement('image:image'));
$imgTag->appendChild(
$xmlDoc->createElement("image:loc", $imgSpirit));
}
header("Content-Type: text/plain");
//make the output pretty
$xmlDoc->formatOutput = true;
$xmlDoc->save('test.xml');
Есть идеи?