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 }