首先制作一个 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);
?>

最后在火狐下效果:

xml 制作 RSS 订阅源的更多相关文章

  1. 为网站加入Drupal星球制作RSS订阅源

    目前中文 Drupal 星球的版块还未成立,但大家的积极性挺高,不少站长都已经调整好自己的网站,生成了可供Drupal Planet 使用的RSS订阅源. 如果你也想让网站做好准备,可以不必再花上不少 ...

  2. XML制作RSS源

    什么是RSS源?看到这片文章的人相信都知道.自己博客首页不就是一个吗? 好吧,先来一个简单点的.直接就是死代码:详细如何使用就看RSS使用标准吧! <?xml version = "1 ...

  3. 技术博客rss订阅源收集

        http://blog.sina.com.cn/rss/2506410862.xml http://fullrss.net/a/http/www.cocoachina.com/cms/rss. ...

  4. 0-1 RSS订阅

    RSS订阅 RSS是什么 中文维基百科对RSS的介绍 w3school对RSS的介绍 少数派的RSS介绍 RSS阅读器 Feedly:注册使用即可,一个账号可以订阅200个RSS源,完全足够日常需要 ...

  5. 如何用RSS订阅?

    本文由云+社区发表 摘要:我们常常会有订阅别人文章的需求,有更新的时候希望能有提醒的功能,RSS就是这样一个订阅的方式.很多网站上看到RSS的入口,点进去以后总是显示一堆的XML代码,我们来看看怎么使 ...

  6. 用RSS订阅微信公众号

    现在用RSS的人应该不多了,不过还是写一下吧. 一.付费服务:今天看啥 1.付费原因: 目前,网上几乎没有免费的用RSS订阅微信公号的方法,所以我推荐的是付费方法: 具体使用的服务是今天看啥,服务还是 ...

  7. Rss 订阅:php动态生成xml格式的rss文件

    Rss 简介: 简易信息聚合(也 叫聚合内容)是一种描述和同步网站内容的格式.使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新.网络用户可以在客户端借助于支持RS ...

  8. Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表

    在上一边博客<Web版RSS阅读器(一)——dom4j读取xml(opml)文件>中已经讲过如何读取rss订阅文件了.这次就把订阅的文件读取到页面上,使用树形结构进行加载显示. 不打算使用 ...

  9. .Net开发者必知的技术类RSS订阅指南

    目录 RSS订阅资源 .Net基金会 MSDN中文版 杂志 微软 Github 系列 微软DevBlog系列 InfoQ中文版系列 如何找到大佬的 Twitter/Youtube/Stackoverf ...

随机推荐

  1. JAVA_SE基础——编码规范&代码编写规则

    这次我来给大家说明下编码规范&代码编写规则  ↓ 编码规范可以帮助程序员在编程时注意一些细节问题,提高程序的可读性,让程序员能够尽快地理解新的代码,并帮助大家编写出规范的利于维护的Java代码 ...

  2. 用Java语言实现简单的词法分析器

    编译原理中的词法分析算是很重要的一个部分,原理比较简单,不过网上大部分都是用C语言或者C++来编写,笔者近期在学习Java,故用Java语言实现了简单的词法分析器. 要分析的代码段如下: 输出结果如下 ...

  3. SpringBoot+Angular2 开发环境搭建

    https://segmentfault.com/a/1190000007921675

  4. 彻底理解了call()方法,apply()方法和bind()方法

    javascript中的每一个作用域中都有一个this对象,它代表的是调用函数的对象.在全局作用域中,this代表的是全局对象(在web浏览器中指的是window).如果包含this的函数是一个对象的 ...

  5. HRBUST1522【单调队列+DP】

    题目:输入一个长度为n的整数序列(A1,A2,--,An),从中找出一段连续的长度不超过m的子序列,使得这个子序列的和最大. #include<stdio.h> #include<s ...

  6. 关于sql多表去重问题

    很多人新手对于数据库distinct 的用法有误解接下来我们看一段代码: 数据表:table  id name    1 a   2 b   3 c   4 c   5 b   我们使用distinc ...

  7. Ubuntu 16.04安装Matlab 2016b教程

    由于代码需要依赖Linux环境,只好尝试着装MATLAB,然而各种问题接踵而至,开始了由MATLAB引发的三天Linux探寻之旅-- 下载Matlab 2016b for Linux https:// ...

  8. 最短路径之Dijkstra算法

    Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法能得出最短路径的最优 ...

  9. nginx location的命中过程

    1 先判断精准命中,立即返回结果并结束解析过程 2 判断普通命中,如果有多个命中,"记录"下"最长"的命中结果(注意:记录但不结束,最长的为准) 3 继续判断正 ...

  10. ASP.NET MVC5 使用NPOI导出ExceL 返回浏览器下载

    一,什么是NPOI 该项目是位于http://poi.apache.org/的POI Java项目的.NET版本.POI是一个开源项目,可以帮助您读取/写入xls,doc,ppt文件.它有着广泛的应用 ...