1 def audioDir = new File("/Users/mhr/dl/audio/audiocasts")
  2 
  3 // initialise RSS files list
  4 files = []
  5 // find RSS files underneath 'audioDir'
  6 audioDir.eachFileRecurse { if (it =~ /.*\.(xml|rss)$/) { files << it } }
  7 
  8 println("\n-------- RSS files --------")
  9 println files.join('\n')
 10 
 11 // iterate over RSS files found
 12 for (rssf in files) {
 13     println("\n-------- $rssf --------")
 14     // parse the RSS file
 15     def d = new XmlSlurper().parse(rssf)
 16     d.declareNamespace(dc:"http://purl.org/dc/elements/1.1/")
 17 
 18     // iterate over item tags in RSS file (take only the first two)
 19     d.channel.item[0..1].each {
 20         println "==> ${it.title}"
 21         if (it.pubDate.toString().trim()) {
 22             println "pubDate: ${it.pubDate}"
 23         } else {
 24             println "dc:date: ${it.'dc:date'}"
 25         }
 26         if (it.link.toString().trim()) {
 27             println "link: ${it.link}"
 28         } else {
 29             println "url: ${it.enclosure.@url}"
 30         }
 31     }
 32 }