如何从ColdFusion feed获取特定字段的单个元素?

时间:2012-09-26 14:43:39

标签: xml coldfusion feed atom-feed

我不是Coldfusion的专家(坦率地说,我对此几乎一无所知),但我的任务是设置一个Atom源以显示在我们客户的一个网页上。

我设法正确连接所有内容,并且能够在外部网站上显示Feed。我仍然有一个问题 - 我需要一个帖子的链接,并且Feed在该字段下显示了一系列不同的链接,以逗号分隔。

我只需抓住第一个就可以嵌入它。如果没有我只是解析字符串的天真方法(我也不知道如何在CF中做),有没有一种简单的方法呢?

以下是我现在用于生成内容的代码,linkhref字段是我需要获取第一个成员的地方:

<cfset feedurl="http://*******.blogspot.com/atom.xml" />
<cffeed source="#feedurl#" properties="feedmeta" query="feeditems" />

<ul>
    <cfoutput query="feeditems">
    <li>#title#</li>
        <li>#linkhref#</li>
        <li>#content#</li>
    </cfoutput>
</ul>

我得到的回报是这样的:http://*****.blogspot.com/2012/09/****.html,http://****.blogspot.com/feeds/****/comments/default,http://****.blogspot.com/2012/09/****等等。

任何帮助将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:7)

我不确定我是否正确理解了您的问题,但如果我这样做,您可以使用ListFirst()获取第一个列表元素,因此#ListFirst(linkhref)#会为您提供第一个网址。

为清楚起见,我还建议您确定变量的范围,以便准确了解它们的来源。

<cfset feedurl="http://google.blogspot.com/atom.xml" />
<cffeed source="#feedurl#" properties="feedmeta" query="feeditems" />

<ul>
    <cfoutput query="feeditems">
        <li>#feeditems.title#</li>
        <li>#ListFirst(feeditems.linkhref)#</li>
        <li>#feeditems.content#</li>
    </cfoutput>
</ul>

答案 1 :(得分:2)

你拥有的是一份清单。您可以使用ListFirst()来获取第一个项目:

#ListFirst(feeditems.linkhref)#