教你实现RSS订阅功能

<?php
header("Content-type:application/xml");//表示本段代码是一个xml文件,非常重要

       


$xmlstr = '<rss version="2.0"  encoding="utf-8">
    <channel>
        <title>Personal News Site</title>
        <description>daily news from me</description>
        <link>http://mydomain.net/</link>
        <lastBuildDate>Sat, 19 Jun 2010 08:55:01 GMT</lastBuildDate>
        <generator>FeedCreator 1.8.0-dev (info@mypapit.net)</generator>
        <copyright>feedcreator (c) 2006</copyright>
        <category>Entertainment</category>
        <item>
            <title>测试成功</title>
            <link>http://mydomain.net/news/somelinks.html</link>
            <description><![CDATA[<p><strong>hahaha aku berjaya!</strong></p>]]></description>
            <author> JohnDoe@example.com (John Doe)</author>
            <category>normal</category>
            <guid isPermaLink="false">http://mydomain.net/news/somelinks.html</guid>
            <guid isPermaLink="false">urn:feeds-archive-org:validator:1</guid>
            <enclosure url="http://mydomain.net/news/picture.jpg" length="65905" type="image/jpeg"/>
        </item>
        <item>
            <title>test berita pertama</title>
            <link>http://mydomain.net/news/somelinks.html</link>
            <description><![CDATA[<p><strong>hahaha aku berjaya!</strong></p>]]></description>
            <author> JohnDoe@example.com (John Doe)</author>
            <category>normal</category>
            <guid isPermaLink="false">http://mydomain.net/news/somelinks.html</guid>
            <guid isPermaLink="false">urn:feeds-archive-org:validator:1</guid>
            <enclosure url="http://mydomain.net/news/picture.jpg" length="65905" type="image/jpeg"/>
        </item>
        <item>
            <title>test berita pertama</title>
            <link>http://mydomain.net/news/somelinks.html</link>
            <description><![CDATA[<p><strong>hahaha aku berjaya!</strong></p>]]></description>
            <author> JohnDoe@example.com (John Doe)</author>
            <category>normal</category>
            <guid isPermaLink="false">http://mydomain.net/news/somelinks.html</guid>
            <guid isPermaLink="false">urn:feeds-archive-org:validator:1</guid>
            <enclosure url="http://mydomain.net/news/picture.jpg" length="65905" type="image/jpeg"/>
        </item>
        <item>
            <title>test berita pertama</title>
            <link>http://mydomain.net/news/somelinks.html</link>
            <description><![CDATA[<p><strong>hahaha aku berjaya!</strong></p>]]></description>
            <author> JohnDoe@example.com (John Doe)</author>
            <category>normal</category>
            <guid isPermaLink="false">http://mydomain.net/news/somelinks.html</guid>
            <guid isPermaLink="false">urn:feeds-archive-org:validator:1</guid>
            <enclosure url="http://mydomain.net/news/picture.jpg" length="65905" type="image/jpeg"/>
        </item>
        <item>
            <title>test berita pertama</title>
            <link>http://mydomain.net/news/somelinks.html</link>
            <description><![CDATA[<p><strong>hahaha aku berjaya!</strong></p>]]></description>
            <author> JohnDoe@example.com (John Doe)</author>
            <category>test</category>
            <guid isPermaLink="false">http://mydomain.net/news/somelinks.html</guid>
            <guid isPermaLink="false">urn:feeds-archive-org:validator:1</guid>
            <enclosure url="http://mydomain.net/news/picture.jpg" length="65905" type="image/jpeg"/>
        </item>
    </channel>
</rss>';
echo $xmlstr;

注释:文件一定要是UTF8类型;否则中文会出错;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
观察者模式实现RSS订阅的具体代码如下: ```java import java.util.ArrayList; import java.util.List; // 抽象主题 interface Subject { void registerObserver(Observer observer); void removeObserver(Observer observer); void notifyObservers(String message); } // 具体主题 class RSSFeed implements Subject { private List<Observer> observers = new ArrayList<>(); private String latestNews; // 订阅 @Override public void registerObserver(Observer observer) { observers.add(observer); } // 取消订阅 @Override public void removeObserver(Observer observer) { observers.remove(observer); } // 通知观察者 @Override public void notifyObservers(String message) { for (Observer observer : observers) { observer.update(message); } } // 发布最新消息 public void publishNews(String news) { this.latestNews = news; notifyObservers(news); } } // 抽象观察者 interface Observer { void update(String message); } // 具体观察者 class Subscriber implements Observer { private String name; public Subscriber(String name) { this.name = name; } // 接收更新 @Override public void update(String message) { System.out.println("[" + name + "] 收到最新消息:" + message); } } // 测试类 public class ObserverPatternDemo { public static void main(String[] args) { RSSFeed rssFeed = new RSSFeed(); // 订阅订阅 Subscriber subscriber1 = new Subscriber("张三"); Subscriber subscriber2 = new Subscriber("李四"); Subscriber subscriber3 = new Subscriber("王五"); rssFeed.registerObserver(subscriber1); rssFeed.registerObserver(subscriber2); rssFeed.registerObserver(subscriber3); // 发布最新消息 rssFeed.publishNews("中国队获得世界杯冠军!"); // 订阅者取消订阅 rssFeed.removeObserver(subscriber2); // 发布最新消息 rssFeed.publishNews("美国总统访问中国!"); // 新订阅订阅 Subscriber subscriber4 = new Subscriber("赵六"); rssFeed.registerObserver(subscriber4); // 发布最新消息 rssFeed.publishNews("新冠疫苗研制成功!"); } } ``` 输出结果为: ``` [张三] 收到最新消息:中国队获得世界杯冠军! [李四] 收到最新消息:中国队获得世界杯冠军! [王五] 收到最新消息:中国队获得世界杯冠军! [张三] 收到最新消息:美国总统访问中国! [王五] 收到最新消息:美国总统访问中国! [赵六] 收到最新消息:新冠疫苗研制成功! [张三] 收到最新消息:新冠疫苗研制成功! [王五] 收到最新消息:新冠疫苗研制成功! ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值