php制作基于xml的RSS订阅源功能示例


Posted in PHP onFebruary 08, 2017

本文实例讲述了php制作基于xml的RSS订阅源功能。分享给大家供大家参考,具体如下:

首先制作一个 RSS 模板,模板的文件名是 feed.xml,代码如下:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>

再就是用php文件从数据库读取数据并生成 RSS 文件,这里用一个数组模拟从数据库读取的数据:

<?php 
class Rss{
  protected $dom = null;
  protected $temp = './feed.xml';
  protected $rss = null;
  protected $title = '';
  protected $desc = '';
  protected $link = '';
  public function __construct(){
    $this->title = '物理学';
    $this->desc = '现代物理学';
    $this->link = 'http://mysql/rss.php';
    $this->dom = new DOMDocument('1.0','utf-8');
    $this->dom->load($this->temp);
    $this->rss = $this->dom->getElementsByTagName('rss')->item(0);
  }
  public function feed($arr){
    $this->createChannel();
    $channel = $this->dom->getElementsByTagName('channel')->item(0);
    foreach ($arr as $v){
      $channel->appendChild($this->createItem($v));
    }
    header('content-type:text/xml');
    echo $this->dom->savexml();
  }
  protected function createChannel(){
    $channel = $this->dom->createElement('channel');
    $channel->appendChild($this->createEle('title',$this->title));
    $channel->appendChild($this->createEle('link',$this->link));
    $channel->appendChild($this->createEle('description',$this->desc));
    $this->rss->appendChild($channel);
  }
  protected function createItem($arr){
    $item = $this->dom->createElement('item');
    foreach($arr as $k => $v){
      $item->appendChild($this->createEle($k,$v));
    }
    return $item;
  }
  protected function createEle($name,$value){
    $e=$this->dom->createElement($name);
    $t=$this->dom->createTextNode($value);
    $e->appendChild($t);
    return $e;
  }
}
$arr = array(
  array(
    'title'=>'牛顿力学',
    'link'=>'1',
    'description'=>'牛顿力学'
  ),
  array(
    'title'=>'相对论',
    'link'=>'1',
    'description'=>'爱因斯坦的相对论'
  )
);
$rss = new Rss;
$rss->feed($arr);
?>

最后在火狐下效果:

php制作基于xml的RSS订阅源功能示例

PHP 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
PHP4和PHP5性能测试和对比 测试代码与环境
Aug 17 PHP
php模块memcache和memcached区别分析
Jun 14 PHP
php中Smarty模板初体验
Aug 08 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php实现的IMEI限制的短信验证码发送类
May 05 PHP
php实现可逆加密的方法
Aug 11 PHP
PHP如何实现跨域
May 30 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
Laravel框架搜索分页功能示例
Feb 01 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
PHP图片裁剪与缩放示例(无损裁剪图片)
Feb 08 #PHP
php实现XML和数组的相互转化功能示例
Feb 08 #PHP
PHP 获取指定地区的天气实例代码
Feb 08 #PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 #PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 #PHP
PHP基于DOM创建xml文档的方法示例
Feb 08 #PHP
PHP输出XML格式数据的方法总结
Feb 08 #PHP
You might like
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
PHP 自定义错误处理函数trigger_error()
2013/03/26 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
2019/09/08 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
js中直接声明一个对象的方法
2014/08/10 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
2016/10/31 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
2017/01/16 Javascript
Angular.js中上传指令ng-upload的基本使用教程
2017/07/30 Javascript
vue实现点击展开点击收起效果
2018/04/27 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
Python isinstance函数介绍
2015/04/14 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
如何运行带参数的python脚本
2019/11/15 Python
python 瀑布线指标编写实例
2020/06/03 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
授权委托书范本
2014/04/03 职场文书
应届生求职自荐信范文
2014/04/07 职场文书
校园环保标语
2014/06/13 职场文书
小学网上祭英烈活动总结
2014/07/05 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
生死抉择观后感
2015/06/09 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书