Если вы ищете что-то из коробки есть несколько проектов по RIAForge, быстрый поиск воспитан эти два, но я предполагаю, что вы могли бы найти больше:
http://cfrss.riaforge.org/
http://rssville.riaforge.org/
Если вы для прокатки своего собственного (я знаю, что вы сказали, что вы не хотите), не мог просто сделать запрос на сырье, как так:
<cfhttp
url = "http://example.com"
resolveurl="no"
throwOnError = "yes"
timeout = "10" >
</cfhttp>
и анализирующие результаты:
<cfset feedData = CFHTTP.FileContent>
<cfset xmlData = XMLParse(feedData)>
Loop через:
<cfset result = queryNew("title,description")>
<cfset items = xmlSearch(xmlData,"//*[local-name() = 'item']")>
<cfloop index="x" from="1" to="#arrayLen(items)#">
<cfif structKeyExists(items[x],"title")>
<cfset node.title = items[x].title.XmlText>
<cfelse>
<cfset node.title = "">
</cfif>
<cfif structKeyExists(items[x],"description")>
<cfset node.description = items[x].description.XmlText>
<cfelse>
<cfset node.description = "">
</cfif>
<cfset queryAddRow(result)>
<cfset querySetCell(result,"title",node.title)>
<cfset querySetCell(result,"description",node.description)>
</cfloop>
Выход:
<cfoutput query="result">
<ul>
<li><strong>#title#</strong> - #description#</li>
</ul>
</cfoutput>
Очевидно непроверенной, но идея, тем не менее. Используется нечто похожее на это, чтобы получить мои последние вкусные закладки. Что касается кэширования, есть несколько способов справиться с этим. Я, вероятно, запустил запланированную задачу, чтобы нажать этот файл и записать вывод в отдельный файл, который включен. Я уверен, что есть лучшие способы, но это быстрый n грязный, imo.