织梦dedecms中Google SiteMap 生成器两种常见错误

织梦dedecms 5.7生成googlemap.xml谷歌网站地图时错误提示“error on line 1 at column 29: Invalid XML encoding name”,因为xml编码不正确而报错,查看源码数据是调出来了,先看看完整的错误提示:

This page contains the following errors:

error on line 1 at column 29: Invalid XML encoding name
Below is a rendering of the page up to the first error.

根据查看googlemap.xml源码会发现第一行声明代码中,编码的值是<?php echo $cfg_soft_lang; ?>,还是PHP代码,没有打印成功,原因可能是织梦dedecms中自自由列表管理模板没有更新,但是数据库中一些函数以及改变了。

现在只需按下面方法修改你模板中googlemap.htm文件就可以解决织梦dedecms中生成gogolemap.xml会报错“error on line 1 at column 29: Invalid XML encoding name”的问题。

将模板中googlemap.htm 第一行
(默认模板位置:templets\default\googlemap.htm

1
<?xml version="1.0" encoding="<?php echo $cfg_soft_lang; ?>" ?>

修改为

1
<?xml version="1.0" encoding="{dede:global.cfg_soft_lang/}" ?>

正常情况修改好后可以看到数据,但是googlemapgooglemap_1.xml还会报错(error on line 6 at column 14: Namespace prefix news on news is not defined),如果遇到这样的情况请按下面方法修改:

将第二行

1
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

改成:

1
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">

修改后织梦dedecms的Google SiteMap 生成器就不会再有”Namespace prefix news on news is not defined“的错误提示了

Relay Tips: 一极乐https://yijile.com/log/479/