2010-01-20 67 views

回答

1

這可能不是您要搜索的答案,但是任何RSS方言都是一個相當簡單的標準(尤其適用於0.9和2,並且限制爲1)。

如果你沒有任何額外的約束(比如,你已經使用Django,或者它會在更近的將來變得更復雜,或者它應該自動分發,或者你想要一次創建RSS 1,RSS 2和Atom,沒有時間閱讀3個規格)。

規格:

12

我建議你使用模板和飼料項目模板的列表。

Jinja2模板(凌動,沒有RSS,但你的想法),假設項目是3元組(標題,鏈接,HTML):

<?xml version="1.0" encoding="utf-8"?> 
<feed xmlns="http://www.w3.org/2005/Atom"> 
    <author>Author's name</author> 
    <title>Feed title</title> 
    {%for item in items %} 
    <entry> 
     <title>{{item[0]}}</title> 
     <link href="{{item[1]}}"/> 
     <content type="html">{{item[2]}}</content> 
    </entry> 
    {%endfor%} 
</feed> 

代碼養活內容模板並輸出結果:

import jinja2 
env = jinja2.Environment(loader=jinja2.FileSystemLoader(".")) 
print env.get_template("feedtemplate.xml").render(items=get_list_of_items()) 
+0

如果項[0]或項包含不以XML(如©)存在一個HTML實體,那麼你的進料不會被合式[2]。請參閱http://www.alexatnet.com/articles/reference-undefined-entity-error-xml-file – 2012-08-31 01:06:29

+0

但是,您通常不會在標題或HTML中擁有HTML實體。你會有正常的Unicode字符串。 – codeape 2012-08-31 13:14:39