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 相关文章推荐
PHP备份/还原MySQL数据库的代码
Jan 06 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
深入解析php中的foreach函数
Aug 31 PHP
php根据日期判断星座的函数分享
Feb 13 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
Nov 16 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
Swoole实现异步投递task任务案例详解
Apr 02 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
May 29 PHP
Laravel手动返回错误码示例
Oct 22 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
用PHP+MySql编写聊天室
2006/10/09 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
2011/07/10 PHP
php实现的PDO异常处理操作分析
2018/12/27 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
js操纵dom生成下拉列表框的方法
2014/02/24 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
JavaScript6 let 新语法优势介绍
2016/07/15 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
详解JS模块导入导出
2017/12/20 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
Nodejs让异步变成同步的方法
2019/03/02 NodeJs
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
2019/09/23 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
2020/08/19 Javascript
Python批量修改文件后缀的方法
2014/01/26 Python
Python实现多线程下载文件的代码实例
2014/06/01 Python
在IIS服务器上以CGI方式运行Python脚本的教程
2015/04/25 Python
全面了解python字符串和字典
2016/07/07 Python
Python OpenCV 直方图的计算与显示的方法示例
2018/02/08 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
Python选择网卡发包及接收数据包
2019/04/04 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
2012/12/30 HTML / CSS
Orvis官网:自1856年以来,优质服装、飞钓装备等
2018/12/17 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
大学生村官典型材料
2014/01/12 职场文书
《乌塔》教学反思
2014/02/17 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
村干部任职承诺书
2015/01/21 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
用python自动生成日历
2021/04/24 Python
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python