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 相关文章推荐
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
用PHP实现读取和编写XML DOM代码
Apr 07 PHP
php cookie使用方法学习笔记分享
Nov 07 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
Jun 12 PHP
php中return的用法实例分析
Feb 28 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
Mar 25 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
Yii2.0预定义的别名功能小结
Jul 04 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
Jan 30 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
Apr 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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
2013/12/25 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
2015/04/08 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
jquery高级编程的最佳实践详解
2014/03/23 Javascript
原生Javascript封装的一个AJAX函数分享
2014/10/11 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
JavaScript操作 url 中 search 部分方法函数
2016/06/15 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
[01:07:11]Secret vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
pandas 获取季度,月度,年度首尾日期的方法
2018/04/11 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
Python configparser模块封装及构造配置文件
2020/08/07 Python
python 实现控制鼠标键盘
2020/11/27 Python
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
Ajax请求总共有多少种Callback
2016/07/17 面试题
介绍下static、final、abstract区别
2015/01/30 面试题
编辑找工作求职信范文
2013/12/16 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
绘画专业自荐信范文
2014/02/23 职场文书
青年志愿者活动方案
2014/08/17 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
初三毕业评语
2014/12/26 职场文书
公司行政主管岗位职责
2015/04/09 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
Python制作表白爱心合集
2022/01/22 Python