iT邦幫忙

0

iThome 的 RSS Feed 有題??

rss
  • 分享至 

  • xImage

請問一下 iThome 的 RSS Feed 是否有問題??
很怪的是用 FireFox 去讀都沒問題, 可是用 Drupal 的 RSS 聯播都會有如下列的錯誤訊息出現...

由於第 210 行的 "Invalid document end" 錯誤, iThome online 的 RSS feed 似乎有錯誤。

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

10
逮丸逮丸
iT邦大師 1 級 ‧ 2010-12-27 08:09:40
最佳解答

可透過幾個方式測試:
1.透過 W3C Feed Validation Service, for Atom and RSS 檢查其格式有效性,
的確是有一些的問題。

2.透過瀏覽器查看:
用FireFox、IE8可正常顯示。
Chrome無法解析,出現這樣的訊息:

<pre class="c" name="code">Click element/attribute for XPath. Double-click to collapse/expand. Enter XPath and click XPath Results for results. Enter XML string and click Render to XML Tree-ify.
Error: INVALID_EXPRESSION_ERR: DOM XPath Exception 51
Error: INVALID_EXPRESSION_ERR: DOM XPath Exception 51

3.用程式語言的簡單工具來解析看看:
我用 ruby 來測試的結果:

<pre class="c" name="code">$ irb
>> require 'simple-rss'
=> true
>> require 'open-uri'
=> true
>> rss = SimpleRSS.parse open('http://ithelp.ithome.com.tw/rss/question')
>> ......
>> puts rss.entries.size
40
=> nil
>> puts rss.entries[0].title
怎麼寫挨踢人的年度工作目標?
=> nil
>> puts rss.entries[0].link
http://ithelp.ithome.com.tw/question/10060982?tag=rss.qu
=> nil

所以從程式語言簡單的套件可以正常解析,
能解析就能在自己的程式頁面畫出「聯播」功能。
可參考 [RoR] 簡單產生 RSS Feeds 及簡易部落格聯播功能
其結果在:
http://alpha.tagbible.net/demo/blogrolls
(但iTHome是big5的碼,我沒轉所以會有亂碼)

從以上的測試歸結起來,
應是Drupal所要解析外部RSS的模組,
可能是太嚴格的檢視方式,
也沒有考慮到錯誤例外的狀況。
所以換其他的Drupal的RSS相關模組,
就可解決問題。

另個轉彎的方式是:
FeedBurner 註冊個帳號,
去讀你要的RSS,FeedBurner應會把 RSS 的格式整得更符規格,
你再用原來的Drupal的RSS模組來讀FeedBurner的網址,
看是不是就可順利做到聯播的功能。

我要發表回答

立即登入回答