无法在cakephp中编写xml站点地图

无法在cakephp中编写xml站点地图,xml,cakephp-1.3,sitemap,Xml,Cakephp 1.3,Sitemap,更新为了让一些人更清楚地了解正在发生的事情,我的页面没有显示文档树(这是我第一次看到)。我的xml内容只有一行,没有任何xml元素/标记 我遵循了在cakephp中创建动态站点地图的步骤。本教程编写于2008年,我(继承)正在使用cakephp 1.3应用程序(我假设本教程适用于1.3?我已经看过一些其他教程,它们几乎使用了2009年和2010年的相同代码。)除了我的查询没有一个产生任何结果这一令人沮丧的事实之外,当我导航到mysite.com/sitemap.xml时,我的输出如下: http

更新为了让一些人更清楚地了解正在发生的事情,我的页面没有显示文档树(这是我第一次看到)。我的xml内容只有一行,没有任何xml元素/标记

我遵循了在cakephp中创建动态站点地图的步骤。本教程编写于2008年,我(继承)正在使用cakephp 1.3应用程序(我假设本教程适用于1.3?我已经看过一些其他教程,它们几乎使用了2009年和2010年的相同代码。)除了我的查询没有一个产生任何结果这一令人沮丧的事实之外,当我导航到mysite.com/sitemap.xml时,我的输出如下:

http://www.site.com/ daily 1.0 http://www.site.com/gulf-coast-finest/3 2012-10-01T19:00:00Z weekly 0.9 http://www.site.com/gulf-coast-finest/4 2012-10-01T19:00:00Z weekly 0.9
当我“查看源代码”时,我得到格式正确的xml(除了缺少关键数据),如下所示:

 <?xml version="1.0" encoding="UTF-8" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> 
    <loc>http://www.site.com/</loc> 
    <changefreq>daily</changefreq> 
    <priority>1.0</priority> 
</url> 
 <!-- posts-->  

<url> 
    <loc>http://www.site.com/gulf-coast-finest/3</loc> 
    <lastmod>2012-10-01T19:00:00Z</lastmod> 
    <changefreq>weekly</changefreq>
    <priority>0.9</priority> 
</url>

<url> 
    <loc>http://www.site.com/gulf-coast-finest/4</loc> 
    <lastmod>2012-10-01T19:00:00Z</lastmod> 
    <changefreq>weekly</changefreq>
    <priority>0.9</priority> 
</url>
</urlset>  
.... 
我的应用程序/views/layouts/xml/default.ctp文件:

<?php
header("content-type: text/xml");
echo $this->Xml->header();
echo $content_for_layout;
?> 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> 
    <loc><?php echo Router::url('/',true); ?></loc> 
    <changefreq>daily</changefreq> 
    <priority>1.0</priority> 
</url> 
 <!-- posts-->  
 <?php foreach ($static as $s):?> 
<url> 
    <loc><?php echo Router::url('/gulf-coast-finest/'.$s['Article']['Article.link_txt'].'/'.$s['Article']['id'],true); ?></loc> 
    <lastmod><?php echo $time->toAtom('2012-10-01 19:00:00'); ?></lastmod> 
    <changefreq>weekly</changefreq>
    <priority>0.9</priority> 
</url>
<?php endforeach; ?>
</urlset> 

我的应用程序/views/sitemaps/xml/index.ctp文件:

<?php
header("content-type: text/xml");
echo $this->Xml->header();
echo $content_for_layout;
?> 
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> 
    <loc><?php echo Router::url('/',true); ?></loc> 
    <changefreq>daily</changefreq> 
    <priority>1.0</priority> 
</url> 
 <!-- posts-->  
 <?php foreach ($static as $s):?> 
<url> 
    <loc><?php echo Router::url('/gulf-coast-finest/'.$s['Article']['Article.link_txt'].'/'.$s['Article']['id'],true); ?></loc> 
    <lastmod><?php echo $time->toAtom('2012-10-01 19:00:00'); ?></lastmod> 
    <changefreq>weekly</changefreq>
    <priority>0.9</priority> 
</url>
<?php endforeach; ?>
</urlset> 

每日的
1
每周的
0.9
我的控制器显然已经搞糟了:

<?php 
class SitemapsController extends AppController{ 

var $name = 'Sitemaps'; 
var $uses = array('Category', 'Listing', 'Article', 'Location'); 
var $helpers = array('Time'); 
var $components = array('RequestHandler'); 
function beforeFilter() {
    //debug logs will destroy xml format, make sure were not in drbug mode 
Configure::write ('debug', 0); 

}
function index (){  
    $this->RequestHandler->respondAs('xml'); 
    $this->viewPath .= '/xml';
     $this->layoutPath = 'xml';
    $a=$this->Article->find('all', array('fields'=>array('Article.id', 'Article.link_txt')));
    $this->set('static', $a);


}
} 
?> 


非常重要的缺失数据问题可能适用于另一个问题。XML文件只有一行,并且没有对人类可见的标记,这不是我可以接受的。我想知道它为什么这样做,我也有同样的问题,我想我已经找到了解决办法。我认为HTML/XML代码前面有空格

<-- space here--><?xml version="1.0" encoding="UTF-8" ?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">