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调用Oracle存储过程
Oct 09 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
Jun 04 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
PHP内核探索之解释器的执行过程
Dec 22 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
配置Nginx+PHP的正确思路与过程
May 10 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
一个非常实用的php文件上传类
Jul 04 PHP
利用Homestead快速运行一个Laravel项目的方法详解
Nov 14 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
造势之举?韩国总统候选人发布《星际争霸》地图
2017/04/22 星际争霸
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
利用PHP实现短域名互转
2013/07/05 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
php模拟服务器实现autoindex效果的方法
2015/03/10 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
php防止sql注入简单分析
2015/03/18 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
2017/08/11 PHP
Javascript 面向对象之重载
2010/05/04 Javascript
什么是cookie?js手动创建和存储cookie
2014/05/27 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
ES6新特性之字符串的扩展实例分析
2017/04/01 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
Vue中使用canvas方法总结
2019/02/12 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
使用Python爬虫库requests发送请求、传递URL参数、定制headers
2020/01/25 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
Backcountry旗下的户外商品闪购网站:steep&cheap
2016/09/22 全球购物
Foreo国际站:Foreo International
2018/10/29 全球购物
BSTN意大利:德国街头和运动文化高品质商店
2020/12/22 全球购物
前台接待员岗位职责
2014/01/02 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
十八大观后感
2015/06/12 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书