什么是RSS源?看到这片文章的人相信都知道。自己博客首页不就是一个吗?

好吧,先来一个简单点的。直接就是死代码:详细如何使用就看RSS使用标准吧!

<?xml version = "1.0" encoding = "utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/">
<channel>
<title>
优惠信息
</title>
<link>
http://localhost/test/01.php
</link>
<description>
这里有最新优惠信息
</description>
</channel>
<item>
<title>
优惠信息1
</title>
<description>
这里有最新优惠信息1
</description>
</item>
<item>
<title>
优惠信息1
</title>
<description>
这里有最新优惠信息1
</description>
</item>
</rss>

效果:再火狐浏览器和ie显示正常,再google上显示不太好

这个简答实现了。来个复杂的吧,动态生成RSS

RSS模板

<?xml version="1.0" encoding="utf-8"?>
<!-- rss输出模板 用PHP动态制造channel,和item -->
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/"></rss>

动态生成:

<?php
/***
====笔记部分====
连接数据库,动态生成Rss feed 连数据库,取最新的10条商品,输出XML feed
***/ class feed {
public $title = ''; // channel的title
public $link = ''; // channel的link
public $description = ''; // channel的descrition;
public $items = array(); public $template = './feed.xml'; //xml模板
protected $dom = null;
protected $rss = null; public function __construct() {
$this->dom = new DomDocument('1.0','utf-8');
$this->dom->load($this->template);
$this->rss = $this->dom->getElementsByTagName('rss')->item(0);
} // 调用createItem,把全部的item节点都生成,再输出
public function display() {
$this->createChannel();
$this->addItem($this->items);
header('content-type: text/xml');
echo $this->dom->savexml();
} // 封装createChannel方法,用来创建Rss的唯一且必须的channel节点
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->description)); $this->rss->appendChild($channel);
} // 封装addItem方法,把全部的商品添加到RSS里面去
// $list是商品列表,是二维数据,每一行是一个商品
protected function addItem($list) {
foreach($list as $goods) {
$this->rss->appendChild($this->createItem($goods));
}
} // 封装一个方法,用来造item 比方link description等等
protected function createItem($arr) {
$item = $this->dom->createElement('item');
foreach($arr as $k=>$v) {
$item->appendChild($this->createEle($k,$v));
} return $item;
} // 封装一个方法,直接创建开如 <ele>some text</ele>这种节点
protected function createEle($name,$value) {
$ele = $this->dom->createElement($name);
$text = $this->dom->createTextNode($value);
$ele->appendChild($text); return $ele;
}
} $conn = mysql_connect('localhost','root','');
mysql_query('set names utf8',$conn);
mysql_query('use test'); $sql = 'select ver as title,content as description from smth order by id desc limit 8'; $rs = mysql_query($sql,$conn); $list = array();
while($row = mysql_fetch_assoc($rs)) {
$list[] = $row;
} $feed = new feed();
$feed->title = '布尔商城';
$feed->link = 'http://localhost/bool';
$feed->description = '这是商城的优惠信息集合';
$feed->items = $list;
$feed->display();

生成效果。并查看源代码:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnV5aW5nZmVpODg4OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

XML制作RSS源的更多相关文章

  1. xml 制作 RSS 订阅源

    首先制作一个 RSS 模板,模板的文件名是 feed.xml,代码如下: <?xml version="1.0" encoding="utf-8"?> ...

  2. 利用Feed43为网站自制RSS源

    什么是RSS,它可以做什么 快2020年了,RSS日渐式微,我也是去年机缘巧合下才开始使用的,以前只是听说过.RSS,全称Really Simple Syndication,又称简易信息聚合(也叫聚合 ...

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

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

  4. 如何自己烧制全文RSS(打造自己RSS源)

    烧制RSS源 到Feed43注册一个账号,虽说不注册也能用,但是为了方便修改自己烧制的RSS,最好还是注册一个账号来管理 到主页点击Create new feed 输入网址点击reload 可以看到请 ...

  5. spring mvc: 生成RSS源

    spring mvc: 生成RSS源 准备: 从相同的maven存储库页面下载 Rome 库及其依赖项rome-utils,jdom和slf4j.和所需的依赖关系 <!-- rss源依赖 --& ...

  6. C#读取RSS源,并利用Solr索引

    折磨我几天的问题今天终于解决了,分享一下近期solr使用的一些经验. 本来是用nutch在爬取页面,可是客户需要爬取RSS,而且可以识别那些页面是通过RSS源抓取出来的.nutch虽然自带解析RSS的 ...

  7. 《机器学习实战》中贝叶斯分类中导入RSS源例子

    跟着书中代码往下写在这里卡住了,考虑到可能还会有其他同学也遇到了这样的问题,记下来分享. 先吐槽一下,相信大部分网友在这里卡住的主要原因是伟大的GFW,所以无论是软件FQ还是肉身FQ的小伙伴们估计是无 ...

  8. Spring MVC生成RSS源

    下面的示例演示如何使用Spring Web MVC框架生成RSS源. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建 ...

  9. Spring MVC-集成(Integration)-生成RSS源示例(转载实践)

    以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_rss_feed.htm 说明:示例基于Spring MVC 4.1.6. 以下示 ...

随机推荐

  1. ASP.NET 网站管理工具介绍

    有没有感觉对 web.config 的操作很烦呢? 老是手动来编辑 web.config 确实挺麻烦的, 不过自 ASP.NET 2.0 起便有了 ASP.NET 网站管理工具, 这个工具呢,其实就是 ...

  2. 【Spark】Spark Streaming 动态更新filter关注的内容

    Spark Streaming 动态更新filter关注的内容 spark streaming new thread on driver_百度搜索 (1 封私信)Spark Streaming 动态更 ...

  3. Logistic 回归梯度上升优化函数

    In [183]:           def loadDataSet(): dataMat = [] labelMat = [] fr = open('testSet.txt') for line ...

  4. Android Activity 及其子类

    本文内容 ListActivity TabActivity LauncherActivity ExpandableListActivity PerferenceActivity 这些类都继承 Acti ...

  5. jQuery.event详细解析

    介绍之前先介绍jQuery的一个方法 jQuery.event.fix(event || window.event); 此方法个浏览器的event对象转换为 jQuery.event; 如果您的事件是 ...

  6. 解决 IE6 背景缓存

    解决 IE6 背景缓存 <!--[if IE 6]><script type="text/javascript">document.execCommand( ...

  7. ZH奶酪:中文依存句法分析概述及应用

    句法分析是自然语言处理领域的一个关键问题,如能将其有效解决,一方面,可对相应树库构建体系的正确性和完善性进行验证;另一方面,也可直接服务于各种上层应用,比如搜索引擎用户日志分析和关键词识别,比如信息抽 ...

  8. vsphere VAAI介绍

    VAAI:让特定的储存作业可以无需透过ESXi主机执行,而由储存设备来担纲 [TechTarget中国原创]目前,VAAI虽然已经成为虚拟化领域的标准语言之一,但是大多数人可能并不了解它还有隐藏的第四 ...

  9. Linux中最常用的JAVA_HOME配置

    一.配置 更改下面配置中的JAVA_HOME路径为你的路径. export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_ ...

  10. Layer文件上传操作

    1:upload.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...