Someone who read my RSS Watch article asked me about Atom feed parsing. For the heck of it I wrote up a quick sample. This code has not been heavily tested, and normally it would be in a CFC method or UDF. Also, I don't parse the datetime string, but I describe a method to parse it in the followup to my article. (Not sure when that is going live.) Anyway, enjoy:

<cfapplication name="atomTest">

<cfif not isDefined("application.content")>
   <cfhttp url="http://www.bigdumbobject.co.uk/atom.xml">
   <cfset application.content = cfhttp.fileContent>
</cfif>

<cfset xmlPacket = xmlParse(application.content)>
<cfset entries = xmlSearch(xmlPacket,"//:entry")>
<cfloop index="x" from="1" to="#arrayLen(entries)#">
   <cfset node = structNew()>
   <cfset node.title = entries[x].title.xmlText>
   <cfset node.link = entries[x].link.xmlAttributes.href>
   <cfif structKeyExists(entries[x],"content")>
      <cfset node.description = entries[x].content.xmlText>
   <cfelse>
      <cfset node.description ="">
   </cfif>
   <cfif structKeyExists(entries[x],"issued")>
      <cfset node.date = entries[x].issued.xmlText>
   <cfelse>
      <cfset node.date ="1/1/1">
   </cfif>
   <cfdump var="#node#">
</cfloop>

Oh, and it isn't obvious, the application stuff is there to simply cache the CFHTTP call while I do my testing.