用groovy解析RSS

时间:2015-06-11 15:02:17

标签: parsing groovy rss xmlslurper

我正在尝试使用groovy解析RSS提要。我只是想提取标题和描述标签'值。我使用以下代码片段来实现此目的:

rss = new XmlSlurper().parse(url)
            rss.channel.item.each {
            titleList.add(it.title)
            descriptionList.add(it.description)
            }

在此之后,我在JSP页面中访问这些值。出了什么问题,我得到的描述的价值不仅仅是<description>({1}}的孩子),还有<channel><media:description>的另一个可选孩子) 。我可以更改为仅提取<channel>的值并省略<description>的值?

编辑:要复制此行为,您可以在此网站上执行以下代码:http://www.tutorialspoint.com/execute_groovy_online.php

<media:description>

您将看到媒体描述标签也在控制台中打印。

1 个答案:

答案 0 :(得分:1)

您可以告诉XmlSlurperXmlParser不要尝试在构造函数中处理命名空间。我相信这就是你所追求的:

'http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml'.toURL().withReader { r ->
    new XmlSlurper(false, false).parse(r).channel.item.each {
        println it.title
        println it.description
    }
}