Rss 订阅:php动态生成xml格式的rss文件
Rss 简介:
简易信息聚合(也
叫聚合内容)是一种描述和同步网站内容的格式。使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。
Rss是用xml文件写的。
Rss 文件格式规范:
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>媒体名称/定义网站频道名称</title>
<description>媒体名称/定义网站频道介绍</description>
<link>网站频道地址</link>
<generator>生成RSS所用的程序</generator>
<image>
<url>LOGO图片地址(绝对地址)</url>
<title>图片替代文字</title>
<link>网站首页地址</link> // 网站首页地址
</image>
<item>
<title><![CDATA[ 文章标题 ]]></title>
<link>文章URL地址(绝对地址)</link>
<description><![CDATA[ 摘要/全文 ]]></description>
<source>来源名称</source>
<pubDate>Mon, 07 Jul 2014 13:42:28 +0800</pubDate> // 最后发布时间
</item>
</channel>
</rss>
Rss生成:
Rss是用xml写的,手动写xml太麻烦,可以通过php动态生成。
方法一:
php文件按照rss格式生成xml格式的内容,中间的<item>内容通过循环生成,最终把结果直接输出即可。
文件:rssCreate.php
//xxx.xml 文件头部
$rss_xml = '<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>XXXXX</title>
<description></description>
<link>http://www.ileehoo.com</link>
<generator>http://www.ileehoo.com</generator>';
//查询前100条的文章
$list_arr = "通过查询数据库,得到文章列表的数组";
//xxx.xml 文件主体(循环得到)
foreach( $list_arr as $k => $v ) {
$rss_xml .= "<item>
<title><![CDATA[ XXXXXX ]]></title>";
<link>XXXX</link>
<source>XXXXX</source>
<pubDate>XXXXXX</pubDate>
</item>";
}
//xxx.xml 文件尾部
$rss_xml .= '</channel></rss>';
echo $rss_xml;
方法二:
生成xml内容,写入xml文件,如rss.xml
见:http://blog.sina.com.cn/s/blog_483a76360100fof9.html
注意:
1:注意:<?xml version="1.0" encoding="utf-8"?>之前不能有任何输出。
2:<link>链接中不能出现&符号。
3:要注意<pubDate>标签的时间格式,如:Mon, 07 Jul 2014 13:42:28 +0800
貌似这样也可以:d m Y H:i:s
4:方法1直接echo输出,可以通过火狐浏览器测试。如果生成的xml格式正确,可以显示或弹出订阅窗口。
但是用其他浏览器不能实现这一种效果,不知为什么,可能是不支持吧。

或:

内容参考:
http://blog.sina.com.cn/s/blog_483a76360100fof9.html
http://www.w3school.com.cn/rss/index.asp
http://www.williamlong.info/archives/824.html
http://mp.toutiao.com/rss_guideline/
http://web.toutiao.com/a3354328022/?id=3368086883&tt_from=sina
http://web.toutiao.com/media_cooperation/#
Rss 订阅:php动态生成xml格式的rss文件的更多相关文章
- 动态生成xml文件
使用xmlParser动态生成xml,输入的字符编码是gbk,结果怎么生成都不行,后来把输入转成utf8之后, 再生成就ok了
- pdmreader支持读取xml格式的pdm文件,无法读取二进制格式的pdm文件。
您的Pdm数据字典文件可能不被PDMReader读取,可能是因为pdm文件版本的问题.但 您可以通过PowerDesigner12(下载PowerDesigner12)进行转换 后进行读取. 您要做的 ...
- 教你如何利用xml格式的sitemap文件做好SEO
教你如何利用xml格式的sitemap文件做好SEO 浏览: | 更新:-- : 一般的网站中都有网站地图文件,它有HTML格式与XML格式,网站地图可以帮助搜索引擎抓取.帮助用户找到自己所需要的内容 ...
- php7 使用dom动态生成xml文档
<?php $dom = new DomDocument('1.0','gb2312'); //创建DOM对象 $store = $dom->createElement('store'); ...
- pytest.11.生成xml格式的测试报告
From: http://www.testclass.net/pytest/report/ pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的.然而我们在运行用例后经常会需要将测试 ...
- java使用jdom生成xml格式文件
本文生成xml使用的工具是jdom.jar,下载地址如下: 链接:https://eyun.baidu.com/s/3slyHgnj 密码:0TXF 生成之后的文档格式类型,就如上面的图片一样,简单吧 ...
- python--利用列表推导式快速生成xml格式数据
在接口自动化测试中,我们经常将要发送的数据放到excel里. json数据放至excel方便,但最近的一个测试,数据是xml格式发送的 如下: 属性 必选/可选 描述 1. Message Eleme ...
- C#动态生成XML
通过C#动态生成图书信息XML文件(Books.xml),文件如下: <?xml version="1.0" encoding="iso-8859-1"? ...
- yii2.0 数据生成 XML 格式。
return 部分的数组就是你要生成 xml 的数据. 生成的格式如下: yii2.0 中使用 xml 就是这么简单!
随机推荐
- ZooKeeper:数据模型
ZooKeeper数据模型 ZNode ZNode 分类 Stat Watcher Watcher工作原理 Watcher事件说明 Watcher注册 事件发布 示例 ZooKeeper 数据模型 整 ...
- error LNK2001: 无法解析的外部符号
1.错误描述 error LNK2001: 无法解析的外部符号 "__declspec(dllimport) void __cdecl PadSystem::Private::printQS ...
- easyUI的基础布局easyui-accordion
---恢复内容开始--- <html> <head> <meta charset="UTF-8"> <title>树状图</t ...
- Android的Handler机制
Handler机制的原理 Android 的 Handler 机制(也有人叫消息机制)目的是为了跨线程通信,也就是多线程通信.之所以需 要跨线程通信是因为在 Android 中主线程通常只负责 UI ...
- Log4j配置详解(转)
一.Log4j简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局).这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出.综合使 ...
- win10+vs2013+cuda8.0+caffe
1,首先说下环境和配置 配置: 环境:windows10,vs2013 community,cuda8.0,caffe,cudnn4 注意:先要安装好显卡驱动(我的显卡是1070),这里的例子只开通了 ...
- [LeetCode] Top K Frequent Elements 前K个高频元素
Given a non-empty array of integers, return the k most frequent elements. For example,Given [1,1,1,2 ...
- [LeetCode] Find Peak Element 求数组的局部峰值
A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ ...
- C#进阶系列——一步一步封装自己的HtmlHelper组件:BootstrapHelper(三:附源码)
前言:之前的两篇封装了一些基础的表单组件,这篇继续来封装几个基于bootstrap的其他组件.和上篇不同的是,这篇的有几个组件需要某些js文件的支持. 本文原创地址:http://www.cnblog ...
- DDR相关的低功耗技术之PASR、TCSR、DPD
随着智能机的发展,DDR内存容量越来越大,bank数量越来越多,功耗也越来越大.在不需要的时候关闭部分bank,或者降低自刷新频率,或者进入深度低功耗模式.有三种DDR技术用来降低功耗: PASR(P ...