php 生成sitemap xml文件(网站地图)
admin
2023-07-01 04:22:37
0

最近帮朋友优化一个网站,想生成xml格式的sitemap然后提交给搜索引擎,利用php的simpleXML类就很容易实现了。贴一下代码块:

//sitemap_data.php 包含了网站所有链接的信息,直接贴出输出的数据,源码就不贴了
array(22) {
  [0]=>
  array(1) {
    ["loc"]=>
    string(32) "http://www.ibxg.com.cn/index.php"
  }
  [1]=>
  array(1) {
    ["loc"]=>
    string(32) "http://www.ibxg.com.cn/about.php"
  }
  [2]=>
  array(1) {
    ["loc"]=>
    string(55) "http://www.ibxg.com.cn/news_center.php?news_center_id=1"
  }
  [3]=>
  array(1) {
    ["loc"]=>
    string(55) "http://www.ibxg.com.cn/news_center.php?news_center_id=2"
  }
  [4]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=1"
  }
  [5]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=2"
  }
  [6]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=3"
  }
  [7]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=4"
  }
  [8]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=5"
  }
  [9]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=6"
  }
  [10]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=7"
  }
  [11]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=8"
  }
  [12]=>
  array(1) {
    ["loc"]=>
    string(43) "http://www.ibxg.com.cn/product.php?cat_id=9"
  }
  [13]=>
  array(1) {
    ["loc"]=>
    string(32) "http://www.ibxg.com.cn/order.php"
  }
  [14]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=1"
  }
  [15]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=2"
  }
  [16]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=3"
  }
  [17]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=4"
  }
  [18]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=5"
  }
  [19]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=6"
  }
  [20]=>
  array(1) {
    ["loc"]=>
    string(47) "http://www.ibxg.com.cn/project.php?project_id=7"
  }
  [21]=>
  array(1) {
    ["loc"]=>
    string(34) "http://www.ibxg.com.cn/contact.php"
  }
}


sitemap_xml.php文件




XML;

//$xml = simplexml_load_string($xml_wrapper);
$xml = new SimpleXMLElement($xml_wrapper);

foreach ($sitemap as $data) {
    $item = $xml->addChild('url'); //使用addChild添加节点
    if (is_array($data)) {
        foreach ($data as $key => $row) {
            $node = $item->addChild($key, $row);

            if (isset($attribute_array[$key]) && is_array($attribute_array[$key])) {
                foreach ($attribute_array[$key] as $akey => $aval) {//设置属性值,我这里为空
                    $node->addAttribute($akey, $aval);
                }
            }
        }
    }
}
echo $xml->asXML(); //用asXML方法输出xml,默认只构造不输出。
?>

另外网上也找到其他方法比如DOMDocument来构造xml,但通过比较使用simpleXML类是最省代码,实现起来也很简单。

其他方法可以参考这文章

http://www.phppan.com/2009/10/use-php-create-xml-file/

相关内容

热门资讯

新华每日电讯:稻城亚丁收的什么... 原标题:生态保护、公共权益、文旅发展如何平衡——稻城亚丁景区“道路设卡摆渡收费”调查本报记者 吴光于...
美国这次,真没占到任何便宜 看来,美国这次,真没占到任何便宜。我之前说过,美国重新定义了什么是“自卫”、什么是“停火”,现在是美...
浙江能工取得低能耗夜景照明装置... 国家知识产权局信息显示,浙江能工建设集团有限公司取得一项名为“一种低能耗夜景照明装置”的专利,授权公...
芯片三巨头齐聚!COMPUTE... 来源:市场资讯 (来源:财联社) 《科创板日报》5月30日讯 6月1日至5日,COMPUTEX 20...
全国科技工作者日,向他们致敬! 中国教科文卫体工会 中国科学院工会 联合开展 “建功‘十五五’ 科创向未来 ——致敬新时代科技追梦人...
美防长:美伊谈判仍在继续,保留... △赫格塞思(资料图)当地时间5月30日,美国国防部长赫格塞思在新加坡香格里拉对话会上表示,美方力求美...
原创 华... 华为公布了一个名叫“韬定律”的东西。说出来你可能不信,这套新玩法,要把西方称霸了60年的芯片底层逻辑...
原创 华... 在华为畅享90 Plus和90 Pro Max取得出众的市场成绩之后,有消息指出,华为畅享90系列接...
一颗流星在美国马萨诸塞州上空爆... 当地时间5月30日,一颗流星在美国东北部马萨诸塞州近海上空爆炸,并引发巨响。该州多地居民均听到爆炸声...
鸿蒙智家框架合作协议签约仪式在... 5月29日,鲁班兄弟装饰工程有限公司与华为终端有限公司在华为云南区域总部举行鸿蒙智家框架合作协议签约...