Rumah pembangunan bahagian belakang Tutorial XML/RSS 手动生成评论RSS的代码实例

手动生成评论RSS的代码实例

May 05, 2017 am 09:21 AM

最近博客园讨论气氛热烈,有价值的评论也层出不穷。有时候我们会很希望订阅某篇文章的评论RSS,只可惜博客园目前没有这个功能。对于注册用户来说,我们可以通过点击评论框下方的“订阅回复”链接,这样就会在出现新评论的时候收到邮件。可惜匿名用户,只得不断刷新才能关注最近讨论到什么地方了。不过我们是什么人?我们是程序员,这点障碍对我们来说应该是在简单不过的小事了。自己搭一个站点,获取页面数据,分析HTML,输出为RSS,就这么简单。

老赵为此作了一个最最简单的示例,可以订阅http://jeffreyzhao.cnblogs.com上任意一篇文章的评论。由于只是简单的个人工具程序,所以完全不考虑性能、伸缩性、扩展性,容错性,也抛弃任何的单元测试依赖注入等“最佳实践”。总之一句话,怎么容易怎么来。

这个示例由两部分组成,第一部分是个静态HTML页面,根据文章URL生成并转向至其RSS链接。寥寥数行HTML和JavaScript

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>博客园RSS</title>
    <script language="javascript" type="text/javascript">
        function goToCommentRss(url) {
            window.location = "CommentRss.ashx?url=" + encodeURIComponent(url);
        }    </script>
</head>
<body>
    <textarea id="url" cols="50" rows="10"></textarea><br />
    <input type="button" value="Comment RSS"        onclick="goToCommentRss(document.getElementById(&#39;url&#39;).value)" />
</body>
</html>
Salin selepas log masuk

CommentRss.ashx将为我们输出评论的RSS。它的代码如下:

public class CommentRss : IHttpHandler{    public void ProcessRequest(HttpContext context)
    {        string url = context.Request.QueryString["url"];        WebClient webClient = new WebClient();
        webClient.Encoding = Encoding.UTF8;        string html = webClient.DownloadString(url);

        context.Response.ContentType = "text/xml";
        context.Response.ContentEncoding = Encoding.UTF8;        SyndicationFeed feed = GetRssFeed(url, html);        Rss20FeedFormatter rssFormatter = new Rss20FeedFormatter(feed);        XmlWriter rssWriter = XmlWriter.Create(context.Response.Output);
        rssFormatter.WriteTo(rssWriter);
        rssWriter.Close();
    }    private static SyndicationFeed GetRssFeed(string url, string html)
    {
        ...
    }    public bool IsReusable { get { return false; } }
}
Salin selepas log masuk

其实.NET框架已经为我们准备了太多太多有用的工具,我们只需要将它们拼接起来即可。例如有了WebClient类,三行代码便可下载到页面的HTML。然后我们通过GetRssFeed方法来获得一个SyndicationFeed对象,再通过Rss20FeedFormatter输出。SyndicationFeed和Rss20FeedFormatter都是.NET 3.5中自带的类库,放在System.ServiceModel.dll程序集中的System.ServiceModel.Syndication命名空间里,可以方便读取或生成Atom 1.0或RSS 2.0格式的XML为我们所用。更多信息可以参考InfoQ中文站的这篇报道:WCF的Web编程模型资源。

GetRssReed的关键在于分析HTML字符串,老赵在这里使用了正则表达式匹配出每条评论的标题、URL、时间、用户和内容。然后构造出一个SyndicationFeed对象就再简单不过了。可惜的是,博客园不同模板的HTML不同,因此老赵的这个示例只支持现在用的这个模板。您可以自己改造,例如为CommentRss.ashx增加一个新的参数,用于指名HTML的解析方式,便可以用于多个模板了。

这个示例使用起来也非常简单,您可以将其编译或部署在本地的IIS上,打开Default.html页面,将文章的URL复制进去,如《老赵谈IL(2)》一文的URL:

粘贴URL链接

点击按钮,便会链接至RSS页。于是在IE中便会展示为:

评论RSS

此时您只要把URL放入本地的RSS阅读器即可。因为程序部署在您的机器上,因此您无法使用Google Reader等工具进行订阅。如果您有条件的话,把它们放到虚拟空间等地方即可。由于您的程序只为您一个人服务,因此不会占用大量资源,目前的写法也足够了。

我们是程序员。自己动手,丰衣足食。

 【相关推荐】

1. RSS高效入门教程

Atas ialah kandungan terperinci 手动生成评论RSS的代码实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan PHP dan XML untuk melaksanakan pengurusan dan paparan langganan RSS di tapak web Cara menggunakan PHP dan XML untuk melaksanakan pengurusan dan paparan langganan RSS di tapak web Jul 29, 2023 am 10:09 AM

Cara menggunakan PHP dan XML untuk melaksanakan pengurusan dan paparan langganan RSS di laman web RSS (Really Simple Syndication) ialah format standard untuk menerbitkan catatan blog, berita, kandungan audio dan video yang kerap dikemas kini. Banyak laman web menyediakan fungsi langganan RSS, membolehkan pengguna mendapatkan maklumat terkini dengan mudah. Dalam artikel ini, kita akan mempelajari cara menggunakan PHP dan XML untuk melaksanakan pengurusan langganan RSS dan fungsi paparan tapak web. Pertama, kita perlu membuat langganan RSS untuk XM

Aplikasi PHP: Dapatkan kandungan langganan rss melalui fungsi Aplikasi PHP: Dapatkan kandungan langganan rss melalui fungsi Jun 20, 2023 pm 06:25 PM

Dengan perkembangan pesat Internet, semakin banyak laman web telah mula menyediakan perkhidmatan langganan RSS, membolehkan pengguna mendapatkan kandungan yang dikemas kini dengan mudah daripada laman web tersebut. Sebagai bahasa skrip sebelah pelayan yang popular, PHP mempunyai banyak fungsi untuk memproses langganan RSS, membolehkan pembangun mengekstrak data yang diperlukan dengan mudah daripada sumber RSS. Artikel ini akan memperkenalkan cara menggunakan fungsi PHP untuk mendapatkan kandungan langganan RSS. 1. Apakah RSS? Nama penuh RSS ialah "ReallySimpleSyndication" (disingkat

Bagaimana untuk menulis pelanggan RSS mudah melalui PHP Bagaimana untuk menulis pelanggan RSS mudah melalui PHP Sep 25, 2023 pm 07:05 PM

Cara menulis pelanggan RSS mudah melalui PHP RSS (ReallySimpleSyndication) adalah format yang digunakan untuk melanggan kandungan laman web Melalui pelanggan, anda boleh mendapatkan artikel terkini, berita, blog dan kemas kini lain. Dalam artikel ini, kami akan menulis pelanggan RSS mudah menggunakan PHP untuk menunjukkan cara mendapatkan dan memaparkan kandungan suapan RSS. Sahkan persekitaran dan penyediaan Sebelum memulakan, pastikan anda mempunyai persekitaran PHP dan memasang sambungan SimpleXML.

Cara menggunakan PHP untuk melaksanakan fungsi langganan RSS Cara menggunakan PHP untuk melaksanakan fungsi langganan RSS Sep 05, 2023 pm 04:43 PM

Cara menggunakan PHP untuk melaksanakan fungsi langganan RSS RSS (ReallySimpleSyndication) ialah format yang digunakan untuk menerbitkan dan melanggan kandungan yang dikemas kini laman web. Menggunakan RSS, pengguna boleh mendapatkan maklumat terkini daripada laman web yang menarik minat mereka dengan mudah tanpa perlu melawati laman web tersebut dengan kerap. Dalam artikel ini, kita akan belajar cara melaksanakan fungsi langganan RSS menggunakan PHP. Pertama, kita perlu memahami struktur asas RSS. Dokumen RSS biasa terdiri daripada satu atau lebih item

Integrasi Data XML/RSS: Panduan Praktikal untuk Pemaju & Arkitek Integrasi Data XML/RSS: Panduan Praktikal untuk Pemaju & Arkitek Apr 02, 2025 pm 02:12 PM

Integrasi data XML/RSS boleh dicapai dengan parsing dan menghasilkan fail XML/RSS. 1) Gunakan Python's XML.Etree.ElementTree atau Perpustakaan FeedParser untuk menghuraikan fail XML/RSS dan mengekstrak data. 2) Gunakan ElementTree untuk menjana fail XML/RSS dan secara beransur -ansur menambah nod dan data.

Rangka suapan RSS dari tapak web lain menggunakan PHP Rangka suapan RSS dari tapak web lain menggunakan PHP Jun 13, 2023 pm 02:55 PM

Apabila kandungan Internet terus memperkaya dan mempelbagaikan, semakin ramai orang mula menggunakan teknologi RSS untuk melanggan blog, berita dan kandungan lain yang mereka minati supaya mereka tidak lagi terlepas sebarang maklumat penting. Sebagai salah satu bahasa pengaturcaraan yang biasa digunakan dalam pembangunan web, PHP juga menyediakan beberapa fungsi dan alatan yang berkuasa untuk membantu kami merangkak langganan RSS dari tapak web lain dan memaparkannya di tapak web kami sendiri. Artikel ini akan memperkenalkan cara menggunakan PHP untuk merangkak langganan RSS tapak web lain dan menghuraikannya ke dalam tatasusunan atau objek.

Laksanakan fungsi langganan RSS menggunakan PHP dan XML Laksanakan fungsi langganan RSS menggunakan PHP dan XML Aug 09, 2023 pm 08:13 PM

Menggunakan PHP dan XML untuk melaksanakan fungsi langganan RSS RSS (ReallySimpleSyndication) ialah format standard untuk menerbitkan dan melanggan kemas kini tapak web. Ia berdasarkan XML dan mendapat kandungan terkini melalui pembaca RSS pelanggan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP dan XML untuk melaksanakan fungsi langganan RSS yang mudah. Cipta fail XML Mula-mula, kita perlu mencipta fail XML untuk menyimpan kandungan yang ingin kita terbitkan. Katakan kita ingin menerbitkan teks

Tutorial XML/RSS Advanced: Ace Temuduga Teknikal Anda Seterusnya Tutorial XML/RSS Advanced: Ace Temuduga Teknikal Anda Seterusnya Apr 06, 2025 am 12:12 AM

XML adalah bahasa markup untuk penyimpanan dan pertukaran data, dan RSS adalah format berasaskan XML untuk menerbitkan kandungan yang dikemas kini. 1. XML mentakrifkan struktur data, sesuai untuk pertukaran data dan penyimpanan. 2.RSS digunakan untuk langganan kandungan dan menggunakan perpustakaan khas apabila parsing. 3. Apabila parsing XML, anda boleh menggunakan DOM atau SAX. Apabila menjana XML dan RSS, unsur -unsur dan atribut mesti ditetapkan dengan betul.

See all articles