Coldfusion CFFEED的问题

Coldfusion CFFEED的问题,coldfusion,cffeed,Coldfusion,Cffeed,好的,我在一个有两个不同RSS源的网站上工作。我的问题是我的一个feed工作得很好,但是第二个(基于几乎相同的代码)失败了,我不知道为什么 以下是有效的代码: <!--- Get the feed data as a query from the orders table. ---> <cfquery name="getNews" datasource="#DSN#"> SELECT * FROM NEWS2 WHERE STATUS = 1

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

以下是有效的代码:

<!--- 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" />

从新闻2中选择*
其中STATUS=1
按rdate DESC订购
以上代码非常有效。下面是我的第二个文件中的代码(您可以看到它几乎相同,只是使用了不同的表):

<!--- 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" />

从新闻中选择*
其中STATUS=1
按rdate DESC订购
第二组代码生成以下错误:

<!--- 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转换为日期

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

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

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

<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>

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

<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>

本、塞尔吉和布拉格尼斯-感谢您的回复。我有时会有点笨。我意识到错误一定来自于第一行:

我根据你的建议仔细检查了我的数据,结果是一个没有rdate数据的记录


干杯

Ben、Sergii和Pragnesh-感谢您的回复。我有时会有点笨。我意识到错误一定来自于第一行:

我根据你的建议仔细检查了我的数据,结果是一个没有rdate数据的记录


干杯

尝试在第二个示例中转储myStruct,看看一个或多个日期是否有问题。谢谢Ben!这正是问题所在,请尝试在第二个示例中转储myStruct,看看一个或多个日期是否有问题。谢谢Ben!这正是问题所在,谢谢你的回应!这正是问题所在。感谢您的回复!这正是问题所在。