XML应用之RSS

1、制作自己的RSS订阅源,订阅源的内容通常是从数据库中读取,首先创建一个数据库;

 1 #创建数据库
 2 create database blog charset utf8;
 3
 4 #切换数据库
 5 use blog;
 6
 7 #创建表
 8 create table blog(
 9     id int unsigned not null primary key auto_increment,
10     title varchar(120) not null default ‘‘,
11     author varchar(20) not null default ‘‘,
12     `desc` varchar(255) not null default ‘‘,
13     content text
14 );
15
16 #添加几条记录
17 insert into blog(title,author,`desc`,content) values(‘什么是RSS‘,‘淡水深流‘,‘即简易信息聚合‘,‘简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。‘);
18
19 insert into blog(title,author,`desc`,content) values(‘RRS的应用‘,‘淡水深流‘,‘即简易信息聚合‘,‘简易信息聚合(也叫聚合内容)是一种RSS基于XML标准,在互联网上被广泛采用的内容包装和投递协议。‘);

2、写一个rss.php文件,从数据库中读取数据,并生成一个XML文档,生成XML文档有以下几种方式:

(1)DOM方式

(2)SimpleXML方式

(3)拼凑字符串

这里我们使用第三种拼凑字符串方式,

 1 <?php
 2 header("Content-Type:text/xml;charset=utf-8");//一定要加
 3 //从数据库中读取数据
 4 $conn = mysql_connect(‘localhost‘,‘root‘,‘root‘);
 5 mysql_select_db(‘blog‘);
 6 mysql_query(‘set names utf8‘);
 7 $sql = "select * from blog";
 8 $res = mysql_query($sql);
 9 $blogs = array();
10 while($row = mysql_fetch_assoc($res)){
11     $blogs[] = $row;
12 }
13
14 //生成XML文档,使用拼凑字符串方式
15 $xml = "<?xml version=‘1.0‘ encoding=‘utf-8‘?>";
16 $xml .= "<rss version=‘2.0‘>";
17 $xml .= "<channel>";
18 $xml .= "<title>淡水深流主页</title>";
19 $xml .= "<link>http://www.cnblogs.com/scyang/</link>";
20 $xml .= "<description>淡水,故可洁其行;深流,故可静其心。</description>";
21 $xml .= "<language>zh-cn</language>";
22 foreach($blogs as $blog){
23     $xml .= "<item>";
24     $xml .= "<title>{$blog[‘title‘]}</title>";
25     $xml .= "<link>http://www.cnblogs.com/scyang/articles/{$blog[‘id‘]}.html</link>";
26     $xml .= "<description>{$blog[‘desc‘]}</description>";
27     $xml .= "</item>";
28 }
29 $xml .= "</channel>";
30 $xml .= "</rss>";
31 echo $xml;

3、再写一个blog.html页面中,提供一个超链接指向rss.php文件

<!DOCTYPE html>
<html>
<head>
    <title>blog</title>
    <meta charset="utf-8">
</head>
<body>
<a href="rss.php"><img src="xml.gif" alt="订阅"> 订阅</a>
</body>
</html>

访问blog.html,结果如下:

点击该按钮,可以查看到如下效果:

*注意:请使用firefox浏览器来查看效果,因为它默认安装了rss订阅器。

时间: 2024-10-20 08:13:58

XML应用之RSS的相关文章

.NET 3.5 : 读写RSS或者ATOM

在.NET 3.5中提供了一套全新的接口来实现对RSS和ATOM这两种数据文件的读写.非常方便.下面演示一下 1. 首先要添加一个引用System.ServiceModel.Web using System.ServiceModel.Syndication;using System.Xml; 2. 读取RSS的代码 /// <summary>/// 从一个远程站点读取RSS/// </summary>/// <param name="sender">

xml基础学习笔记03

继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 1 <?php 2 3 /* 4 笔记: 5 35.XML节点的删除与修改 6 使用的xml文件是这样的 7 <?xml version='1.0' encoding='utf-8' ?> 8 <bookstore> 9 <book> 10 <title>路遥-平凡的世界</title> 11 <pri

XML代码生成器——XMLFACTORY 简介(一)

XML代码生成器——XMLFACTORY 简介(一) 软件开发中经常要和第三方应用交互数据,特别是在银行.电信行业,这种需求更是必不可少,往往一个系统要和三五个其它系统交互数据,而数据交换的报文经常采用Xml格式. Xml结构严谨,利于人的阅读,但格式较复杂,用代码解析和拼装有些繁琐.无论是把Xml转化成内存中的实体类对象,还是把实体类对象序列化为XML,都是个力气活,而且耗费时间. 还好,问题总是有解决的办法,这里向大家介绍一款在线代码生成器:XmlFactary.如果你有现成的Xml文档,那

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

折磨我几天的问题今天终于解决了,分享一下近期solr使用的一些经验. 本来是用nutch在爬取页面,可是客户需要爬取RSS,而且可以识别那些页面是通过RSS源抓取出来的.nutch虽然自带解析RSS的插件,但是有些RSS解析不了,也不好控制,更重要的抓取后和普通页面就没什么太大的区别了,不能识别不能判断是由哪个rss源抓取出来的.因为上面原因,所以就自己用C#写了一个配合Solr抓取RSS的工程. 一切实现好后,客户非常满意,我也觉得做的还不错,可是过了一段时间后发现nutch在solrdedu

什么是RSS

RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用.RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者.发布一个RSS文件后,这个RSS Feed中包含的信息就能直接被其他站点调用,而且由于这些数据都是标准的XML格式,所以也能在其他的终端和服务中使用. 如果从RSS阅读者的角度来看,完全不必考虑它到底是什么意思,只要简单地理解为一种方便的信息获取工具就可以了.RSS获取信息的模式与加入邮件列表(如电子杂

RSS源 集合

南方周末:http://www.hifiwiki.net/news/rss/infzm.xml 南方都市:http://www.hifiwiki.net/news/rss/nddaily.xml 三联生活周刊:http://www.hifiwiki.net/news/rss/lifeweek.xml 环球时报-军事版:http://www.hifiwiki.net/news/rss/huanqiu_mil.xml 青年参考:http://www.hifiwiki.net/news/rss/qnc

java使用Rome解析Rss的实例(转)

Rome简介 Rome是为RSS聚合而开发的开源包,它可以支持0.91.0.92.0.93.0.94.1.0.2.0,可以说rss的版本基本上都支持了. Rss简介 RSS是站点用来和其他站点之间共享内容的一种简易方式(也叫聚合内容),通常被用于新闻和其他按顺序排列的网站,例如Blog.RSS就是一种用来分发和汇集网页内容的XML格式!RSS =Really Simple Syndication(真正简单的聚合 )或Rich Site Summary(丰富站点摘要 )Rss目前已经被广泛的应用

深入浅出HTML与XHTML的区别

HTML(HyperText Markup Language,超文本标记语言)最早的HTML官方正式规范,是1995年IETF(Internet Engineering Task Force,因特网工程任务组)发布的HTML 2.0.W3C(World Wide Web Consortium,万维网联盟)继IETF之后,对HTML进行了几次升级,直至1999年发布HTML 4.01. HTML与XHTML 可扩展超文本标记语言XHTML(eXtensible HyperText Markup L

Nginx 笔记与总结(13)Nginx 的 gzip 压缩

使用 FireFox(40.0)访问博客园(http://www.cnblogs.com/),观察 http 头信息 请求头信息: Accept-Encoding gzip, deflate 表示浏览器接受的压缩方式有 gzip 和 deflate 响应头信息: Content-Encoding gzip 表示服务器返回内容的压缩方式是 gzip 注意:图片/mp3 这样的二进制文件不必压缩,因为压缩比较小(而且压缩需要消耗 CPU 资源) 在 nginx 下使用 gzip nginx gzip