Sitemap建立与DOM文档抛出分析错误

问题描述:

我创建一个XML格式的网站地图,它运作良好,与一个记录中显示,但包括1+记录时,它抛出一个错误:Sitemap建立与DOM文档抛出分析错误

XML Parsing Error: junk after document element

这说明此代码在这里:

<?xml version="1.0" encoding="UTF-8"?> 
<url><loc>http://www.mywebsite.com/page/1</loc><changefreq>daily</changefreq><priority>0.6</priority></url> 
<url><loc>http://www.mywebsite.com/page/2</loc><changefreq>daily</changefreq><priority>0.6</priority></url> 

我的代码:

$xml = new DOMDocument('1.0', 'UTF-8'); 

for($i = 0; $i < 2; $i++) 
{ 
    $url = $xml->createElement('url'); 
    $xml->appendChild($url); 

    $website_url = 'http://www.mywebsite.com/page/' . $i; 

    $loc = $xml->createElement('loc', $website_url); 
    $url->appendChild($loc); 

    $change = $xml->createElement('changefreq', 'daily'); 
    $url->appendChild($change); 

    $priority = $xml->createElement('priority', '0.6'); 
    $url->appendChild($priority); 
} 

header('Content-type: text/xml'); 
echo $xml->saveXML(); 

为什么抛出这样那样的错误,当XML似乎对我有效?

至少在你的例子中,你有两个根节点(<url>),因为这是不允许在xml中,第二个是junk after document element

你缺少<urlset>根节点,请参阅:http://www.sitemaps.org/protocol.php

+0

啊,谢谢,它的工作。 :-) – MacMac 2011-06-15 17:07:16