透過 php + mysql 製作 RSS(XML) ?
事由
因為第一次接觸到 RSS,發現了完全不了解的問題。
目前網站中有部落格,但是非WP或其他第三方套件,而是自己寫的一個部落格,可以發佈、也可看所有文章列表,也有用 htaccess 重新寫了網址規則。
爬爬爬
我查了一下RSS製作方式
http://raymondchou.pixnet.net...
他的做法是創建一個數據表,將需要做成RSS的內容都丟進去,最後再用 php while 將這資料表的欄位資料印出,在旁邊加上 RSS 上面的那種 tag
例如 <title>
等等。這是我目前看到好像是 RSS製作的一種方式?這是標準的製作方式嗎?
XML Format ?
因目前跟別人串接,主要是想更新我這邊的文章到他那邊去。有給了我一個 XML Format 格式,上面的標籤真的是不少。
這是其中一段:
<startYmdtUnix>1457280000000</startYmdtUnix> //Mandatory
<endYmdtUnix>1457480000000</endYmdtUnix> //Mandatory
<title>String // article title</title> //Mandatory
<category>String</category> //Mandatory
<subCategory>String</subCategory> //Optional
<publishTimeUnix>1457480000000</publishTimeUnix> //Mandatory
<updateTimeUnix>1457480000000</updateTimeUnix> //Optional
//Optional
// 0 stands for general article with plain text, images and short video;
// 1 stands for long video news. Warning!!! if the article is long video news, this tag is necessary and must be 1.
// 2 stands for the comic book.
// 5 is for video content, only allow one video and text in contents.
// 6 stand for trailer for a specific movie, only allow one video and text in contents.
<contentType>0, 1, 2, 5, 6</contentType>
<thumbnail>String // relative file of thumbnail file</thumbnail> //Optional
<contents> //Contain at least one of image, video, text. Can be multiple.
<image>
<title>String // image title</title> //Optional
<description>String // image caption</description> //Optional
<url>String // relative file path of image file</url> //Mandatory
<thumbnail>String // relative file of thumbnail file</thumbnail> //Optional
</image>
<video>
<title>String // video title</title> //Optional
<description>String // video caption</description> //Optional
<url>String // relative file path of video file</url> //Mandatory
<thumbnail>String // relative file path of thumbnail file</thumbnail> //Optional
<restrictedCountries> //Optional
<country>String // ISO 31661 alpha2</country>
<country>String // ISO 31661 alpha2</country>
<country>... // others</country>
</restrictedCountries>
<width>449</width> //Optional
<height>101</height> //Optional
</video>
<text>
<content> //Mandatory
<![CDATA html tag or pure text ]]>
</content>
</text>
</contents>
問題產生
- 對方提供的
XML Format
跟 RSS 是一樣的道理嗎? XML Format
每一個tag
跟我製作 RSS 的方式是否是正確的方向?- 也就是說,我新增部落格文章的同時,除了丟一份到我原本網站要顯示的那個數據表外,再把需要製作 RSS 的部落格內容也丟到另一個 RSS 專屬數據表去,然後再打印出來給對方取得?
- 這個製作方式是標準作法嗎?
- 所謂的「當我新增一篇文章,對方就能夠抓到」,是指這個 RSS 嗎?我只要將部落格內容丟給 RSS 專屬的數據庫,再利用 php 打印這個數據庫的文章,替他加上上方
XML Format
的標籤就可以了嗎?
抱歉問題有點多,但這確實困擾了我幾天
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你的问题本质就一个,RSS是什么?
RSS就是一个达成各方共识的信息传输协议,或者说是一种格式。
直观来看,RSS就是一个按照标准格式生成的xml文档, 任何人拿到这个xml,都能认出来里面那些标签标示文章列表,哪些标签标示标题,哪些标签表示文件内容以及这个文章的网址。
你要做的就是发布一篇文章后,重新生成新的文章列表对应的 rss格式的xml文件,并且挂到外网可以访问。
Rss只是一种机制让订阅者可以知道有是否有心内容发布,用来订阅
具体查看理论还是要通过rss解析具体地址来阅读的
RSS是利用一定的标准和格式来利用XML的形式来展现文章,如果你需要将原本的博客文章转换成rss,可以参考开源RSS库
https://github.com/miniflux/p...
里面的文档有解析RSS,以及生成RSS文档。