XML应用之RSS

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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订阅器。

以上是关于XML应用之RSS的主要内容,如果未能解决你的问题,请参考以下文章

在Angular应用程序上将XML RSS提要转换为Json

LINQ TO XML 解析 RSS 提要

使用 XML 包 R 解析 RSS 提要

从 Feedburner RSS 提要中获取原始 XML 数据

PHP 生成 RSS XML - 编码错误

使用 BaseAdapter 时片段 TabLayout 中的 NullPointerException