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 相关文章推荐
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
PHP session有效期问题
Apr 26 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 PHP
PHP的switch判断语句的“高级”用法详解
Oct 01 PHP
php显示指定目录下子目录的方法
Mar 20 PHP
php实现微信企业号支付个人的方法详解
Jul 26 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 PHP
PHP命名空间简单用法示例
Dec 28 PHP
PHP通过GD库实现验证码功能示例
Feb 23 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 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 CURL获取邮箱地址的详解
2013/06/03 PHP
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
浅析JQuery UI Dialog的样式设置问题
2013/12/18 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
js实现仿QQ秀换装效果的方法
2015/03/04 Javascript
JavaScript中pop()方法的使用教程
2015/06/09 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
2016/03/19 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
python实现决策树C4.5算法详解(在ID3基础上改进)
2017/05/31 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
基于python实现高速视频传输程序
2019/05/05 Python
Python list与NumPy array 区分详解
2019/11/06 Python
python基于Kivy写一个图形桌面时钟程序
2021/01/28 Python
关于canvas.toDataURL 在iOS运行失败的问题解决
2020/09/16 HTML / CSS
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
Nike瑞士官网:Nike CH
2021/01/18 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
计算机本科生自荐信
2013/10/15 职场文书
统计员岗位职责
2013/11/14 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
校庆标语集锦
2014/06/25 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
小学语文教师年度考核个人总结
2015/02/05 职场文书
2015新学期家长寄语
2015/02/26 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
春季运动会加油词
2015/07/18 职场文书