使用简单的xml PHP函数编写XML站点地图时出现问题,几乎相同的情况,当sitemap
标记时,它无效:
$xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset>');
$sitemap = $xml->addChild("sitemap");
$sitemap->addChild("loc", "http://www.example.com/sitemap-1.xml");
致命错误:在布尔值
上调用成员函数addChild()
正常工作 可靠:
$xml = simplexml_load_string('<?xml version="1.0" encoding="utf-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset>');
$url = $xml->addChild("url");
$url->addChild("loc", "http://www.example.com/sitemap-2.xml");
答案 0 :(得分:2)
你的问题是由简单的错误引起的。
(你有 - 可能忘了改变 - 将标签从urlset关闭到 sitemapindex ):
$xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></urlset>');
正确:
$xml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"></sitemapindex>');