Rss 订阅:php动态生成xml格式的rss文件

时间:2022-09-11 09:14:04

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格式正确,可以显示或弹出订阅窗口。

但是用其他浏览器不能实现这一种效果,不知为什么,可能是不支持吧。

Rss 订阅:php动态生成xml格式的rss文件

或:

Rss 订阅:php动态生成xml格式的rss文件

内容参考:

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文件的更多相关文章

  1. 动态生成xml文件

    使用xmlParser动态生成xml,输入的字符编码是gbk,结果怎么生成都不行,后来把输入转成utf8之后, 再生成就ok了

  2. pdmreader支持读取xml格式的pdm文件,无法读取二进制格式的pdm文件。

    您的Pdm数据字典文件可能不被PDMReader读取,可能是因为pdm文件版本的问题.但 您可以通过PowerDesigner12(下载PowerDesigner12)进行转换 后进行读取. 您要做的 ...

  3. 教你如何利用xml格式的sitemap文件做好SEO

    教你如何利用xml格式的sitemap文件做好SEO 浏览: | 更新:-- : 一般的网站中都有网站地图文件,它有HTML格式与XML格式,网站地图可以帮助搜索引擎抓取.帮助用户找到自己所需要的内容 ...

  4. php7 使用dom动态生成xml文档

    <?php $dom = new DomDocument('1.0','gb2312'); //创建DOM对象 $store = $dom->createElement('store'); ...

  5. pytest&period;11&period;生成xml格式的测试报告

    From: http://www.testclass.net/pytest/report/ pytest有非常友好的命令行报告输出,在做用例开发的时候,这是极好的.然而我们在运行用例后经常会需要将测试 ...

  6. java使用jdom生成xml格式文件

    本文生成xml使用的工具是jdom.jar,下载地址如下: 链接:https://eyun.baidu.com/s/3slyHgnj 密码:0TXF 生成之后的文档格式类型,就如上面的图片一样,简单吧 ...

  7. python--利用列表推导式快速生成xml格式数据

    在接口自动化测试中,我们经常将要发送的数据放到excel里. json数据放至excel方便,但最近的一个测试,数据是xml格式发送的 如下: 属性 必选/可选 描述 1. Message Eleme ...

  8. C&num;动态生成XML

    通过C#动态生成图书信息XML文件(Books.xml),文件如下: <?xml version="1.0" encoding="iso-8859-1"? ...

  9. yii2&period;0 数据生成 XML 格式。

    return 部分的数组就是你要生成 xml 的数据. 生成的格式如下: yii2.0 中使用 xml 就是这么简单!

随机推荐

  1. BZOJ4699 &colon; 树上的最短路

    这道题主要是要解决以下两个问题: 问题1: 给定一个点$x$,如何取出所有经过它的下水道? 一条下水道经过$x$等价于它起点在$x$的子树里面且终点不在$x$的子树里面,或者两端点的lca就是$x$. ...

  2. &lbrack;转&rsqb;&period;NET下读取PDF文本

    本文转自:http://blog.csdn.net/wangqiuyun/article/details/8548779 在.NET下读取PDF文本用到的类库主要有两个:PDFBox和iTextSha ...

  3. Linux内核2&period;4&period;x的网络接口源码的结构&lbrack;转&rsqb;

    http://blog.csdn.net/wswifth/article/details/5102242 一.前言 Linux的源码里,网络接口的实现部份是非常值得一读的,通过读源码,不仅对网络协议会 ...

  4. Android &colon; Resource is not a Drawable &lpar;color or path&rpar;

    错误1:android.content.res.Resources$NotFoundException 错误2:Resource is not a Drawable (color or path) 解 ...

  5. ios-微信支付登录分享-notification通知

    // //  AppDelegate.m //  NewAppBase // //  Created by ENERGY on 2018/5/17. //  Copyright © 2018年 ENE ...

  6. javascript 模块化学习:Class打包出来无法实例化问题

    菜鸟初学前端,第一次尝试使用webpack, 目的是做一个lib,想用webpack + babel 自动化打包出来 es5 的js代码 模块中用到了Class,直接export{className} ...

  7. 4&period; python 修改字符串实例总结

    4. python 修改字符串实例总结 我们知道python里面字符串是不可原处直接修改的,为了是原来的字符串修改过来,我们有一下方法: 1.分片和合并 >>> a='abcde'  ...

  8. Eclipse启动Tomcat错误(其他类似)

    Eclipse启动Tomcat错误信息: Several ports (8080, 8009) required by Tomcat v6.0 Server at localhost are alre ...

  9. Oracle宣布很多其它的Java 9 新特性

    随着Oracle确认了其余的4个Java 9特性,下一代Java的计划開始变得更清晰了,Oracle已经发布了第二套Java 9特性.自从Oracle在今年早些时候宣布了3个新的API和模块化源代码后 ...

  10. jsp当做第二个servlet request的生命周期 请求 响应 不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束 request的域消失

    jsp当做第二个servlet  request的生命周期   请求 响应  不管中间经历多少个servlet 只要最后一个serlvt执行后 则生命周期结束  request的域消失