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学习笔记之 函数声明
Jun 09 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
php文件上传的简单实例
Oct 19 PHP
php中url函数介绍及使用示例
Feb 13 PHP
destoon找回管理员密码的方法
Jun 21 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
Aug 22 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
PHP面向对象程序设计之类与反射API详解
Dec 02 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
Aug 25 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 21 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模拟ping命令(php exec函数的使用方法)
2013/10/25 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
javascript中clone对象详解
2014/12/03 Javascript
JavaScript获取按钮所在form表单id的方法
2015/04/02 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
响应式表格之固定表头的简单实现
2016/08/26 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
微信小程序 选项卡的简单实例
2017/05/24 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
webpack4简单入门实例
2018/09/06 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
美国在线艺术商店:HandmadePiece
2020/11/06 全球购物
简述安装Slackware Linux系统的过程
2012/01/12 面试题
会计系毕业生求职信
2014/05/28 职场文书
国贸专业求职信
2014/06/28 职场文书
学校端午节活动方案
2014/08/23 职场文书
运动会演讲稿50字
2014/08/25 职场文书