首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CFFEED问题

CFFEED问题
EN

Stack Overflow用户
提问于 2010-07-23 00:33:13
回答 3查看 570关注 0票数 0

是的,我正在用几个不同的RSS源在一个网站上工作。我的问题是我的提要之一工作得很好,但是第二个(基于几乎相同的代码)失败了,我不知道为什么。

下面是工作的代码:

代码语言:javascript
复制
<!--- Get the feed data as a query from the orders table. ---> 
<cfquery name="getNews" datasource="#DSN#">  
    SELECT * FROM NEWS2
    WHERE STATUS = 1 
    ORDER BY rdate DESC
</cfquery>  


<cfset myStruct = StructNew() />
<cfset mystruct.link = "http://noobzilla.net" />
<cfset myStruct.title = "Noobzilla News" />
<cfset mystruct.description = "Programming Related Site Reviews" />
<cfset mystruct.pubDate = Now() />
<cfset mystruct.version = "rss_2.0" />
<cfset myStruct.item = ArrayNew(1) />

<cfloop query="getNews">
    <cfset myStruct.item[currentRow] = StructNew() />
    <cfset myStruct.item[currentRow].guid = structNew() />
    <cfset myStruct.item[currentRow].guid.isPermaLink="YES" />
    <cfset myStruct.item[currentRow].guid.value = 'http://noobzilla.net/news-detail.cfm?id=#id#' />    
    <cfset myStruct.item[currentRow].pubDate = "#DateFormat(getNews.rdate, "mm/dd/yyyy")#" />
    <!---<cfset myStruct.item[currentRow].title = xmlFormat(title) />--->
    <cfset myStruct.item[currentRow].title = #title# />
    <cfset myStruct.item[currentRow].description = StructNew() />
    <!---<cfset myStruct.item[currentRow].description.value = xmlFormat(#info#) />--->
    <cfset myStruct.item[currentRow].description.value = '#Left(info, 250)#...' />
    <cfset myStruct.item[currentRow].link = 'http://noobzilla.net/news-detail.cfm?id=#id#' />
</cfloop>

<!--- Generate the feed and save it to a variable. --->
<cffeed action="create" name="#myStruct#" overwrite="true" xmlVar="myXML" />

上面的代码工作得很好。下面是我的第二个文件中的代码(您可以看到它实际上是相同的,只使用不同的表):

代码语言:javascript
复制
<!--- Get the feed data as a query from the orders table. ---> 
<cfquery name="getNews" datasource="#DSN#">  
    SELECT * FROM NEWS
    WHERE STATUS = 1 
    ORDER BY rdate DESC
</cfquery> 

<cfset myStruct = StructNew() />
<cfset mystruct.link = "http://noobzilla.net" />
    <cfset myStruct.title = "IDE Reviews" />
<cfset mystruct.description = "IDE and SDK Reviews" />
<cfset mystruct.pubDate = Now() />
<cfset mystruct.version = "rss_2.0" />
<cfset myStruct.item = ArrayNew(1) />

<cfloop query="getNews">
    <cfset myStruct.item[currentRow] = StructNew() />
    <cfset myStruct.item[currentRow].guid = structNew() />
    <cfset myStruct.item[currentRow].guid.isPermaLink="YES" />
    <cfset myStruct.item[currentRow].guid.value = 'http://noobzilla.net/news-detail2.cfm?id=#id#' />    
    <cfset myStruct.item[currentRow].pubDate = "#DateFormat(getNews.rdate, "mm/dd/yyyy")#" />
    <cfset myStruct.item[currentRow].title = #title# />
    <cfset myStruct.item[currentRow].description = StructNew() />
    <cfset myStruct.item[currentRow].description.value = '#Left(info, 250)#...' />
    <cfset myStruct.item[currentRow].link = 'http://noobzilla.net/news-detail2.cfm?id=#id#' />
</cfloop>

<!--- Generate the feed and save it to a variable. --->
<cffeed action="create" name="#myStruct#" overwrite="true" xmlVar="myXML" />

这第二组代码生成以下错误:

解析pubDate中指定的日期时出错。无法将pubDate转换为日期。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-23 02:12:00

我将检查getNews.rdate值,并确保它是ColdFusion接受的任何标准日期或日期/时间格式。

票数 2
EN

Stack Overflow用户

发布于 2010-07-23 08:54:26

这是Pragnesh提出的解决方案的代码示例:

代码语言:javascript
复制
<cfif isDate(getNews.rdate)>
    <cfset myStruct.item[currentRow].pubDate = DateFormat(getNews.rdate, "mm/dd/yyyy") />
<cfelse>
    <cfset myStruct.item[currentRow].pubDate = DateFormat(Now(), "mm/dd/yyyy") />
</cfig>
票数 1
EN

Stack Overflow用户

发布于 2010-07-23 16:00:11

本,塞尔吉和普拉格尼什-谢谢你的回复。有时我会变得有点迟钝。我陷入了这样一个事实,即错误必须源于以下第一行:

我根据你的建议对我的数据进行了两次核对,然后就找到了--这是一个没有rdate数据的记录。

干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3314550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档