XML制作RSS源
什么是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源的更多相关文章
- xml 制作 RSS 订阅源
首先制作一个 RSS 模板,模板的文件名是 feed.xml,代码如下: <?xml version="1.0" encoding="utf-8"?> ...
- 利用Feed43为网站自制RSS源
什么是RSS,它可以做什么 快2020年了,RSS日渐式微,我也是去年机缘巧合下才开始使用的,以前只是听说过.RSS,全称Really Simple Syndication,又称简易信息聚合(也叫聚合 ...
- 为网站加入Drupal星球制作RSS订阅源
目前中文 Drupal 星球的版块还未成立,但大家的积极性挺高,不少站长都已经调整好自己的网站,生成了可供Drupal Planet 使用的RSS订阅源. 如果你也想让网站做好准备,可以不必再花上不少 ...
- 如何自己烧制全文RSS(打造自己RSS源)
烧制RSS源 到Feed43注册一个账号,虽说不注册也能用,但是为了方便修改自己烧制的RSS,最好还是注册一个账号来管理 到主页点击Create new feed 输入网址点击reload 可以看到请 ...
- spring mvc: 生成RSS源
spring mvc: 生成RSS源 准备: 从相同的maven存储库页面下载 Rome 库及其依赖项rome-utils,jdom和slf4j.和所需的依赖关系 <!-- rss源依赖 --& ...
- C#读取RSS源,并利用Solr索引
折磨我几天的问题今天终于解决了,分享一下近期solr使用的一些经验. 本来是用nutch在爬取页面,可是客户需要爬取RSS,而且可以识别那些页面是通过RSS源抓取出来的.nutch虽然自带解析RSS的 ...
- 《机器学习实战》中贝叶斯分类中导入RSS源例子
跟着书中代码往下写在这里卡住了,考虑到可能还会有其他同学也遇到了这样的问题,记下来分享. 先吐槽一下,相信大部分网友在这里卡住的主要原因是伟大的GFW,所以无论是软件FQ还是肉身FQ的小伙伴们估计是无 ...
- Spring MVC生成RSS源
下面的示例演示如何使用Spring Web MVC框架生成RSS源. 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序: 创建 ...
- Spring MVC-集成(Integration)-生成RSS源示例(转载实践)
以下内容翻译自:https://www.tutorialspoint.com/springmvc/springmvc_rss_feed.htm 说明:示例基于Spring MVC 4.1.6. 以下示 ...
随机推荐
- Centos 7安装protobuf3.6.1
新版本 google protobuf-3.6.1是现在最新版本,添加了新的特性,看说明 下载地址 https://github.com/protocolbuffers/protobuf/releas ...
- 【转】 Qt如何设置自动补全快捷键
原文:https://blog.csdn.net/u014597198/article/details/52797435 在用Qt编程的时,它默认是以“CTRL+空格”来作为自动补全的快捷键的,但是这 ...
- ASP.NET 网站管理工具介绍
有没有感觉对 web.config 的操作很烦呢? 老是手动来编辑 web.config 确实挺麻烦的, 不过自 ASP.NET 2.0 起便有了 ASP.NET 网站管理工具, 这个工具呢,其实就是 ...
- iOS开发-Certificates、Identifiers和Profiles详解
如果是才进入公司进行开发的iOS程序猿来说人难免会对苹果的证书.配置文件,尤其有的需要重头开始的公司来说,最简单的来说真机调试是免不了和这些东西打交道的,有的时候赶时间做完了可能心里也犯嘀咕,本文根据 ...
- 算法 递归 迭代 动态规划 斐波那契数列 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- html5各种页面切换效果和模态对话框
页面动画:data-transition 属性可以定义页面切换是的动画效果.例如:<a href="index.html" data-transition="pop ...
- android 框架层 常用类介绍
名称 功能描述 示意图 activitymanager 管理应用程序的周期并提供常用的回退功能 window manager 窗口管理者 content provider 用于访问另一个的数据,或者共 ...
- Android -- AudioPlayer
AudioPlayer 主要是实现边录边播(AudioRecord+AudioTrack)以及对音频的实时处理(如会说话的汤姆猫.语音) 优点:语音的实时处理,可以用代码实现各种音频的封装 缺点:输出 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十八):kafka0.10.1 内置性能测试API用法示例
消费者测试: ./kafka-consumer-perf-test..com.cn:,vm10..com.cn:,vm10..com.cn: --group test-teg1 --messages ...
- SharePoint CAML Query小结
CAML的结构. <View Type="HTML" Name="Summary"> <ViewBody ExpandXML="TR ...