我正在尝试使用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>
您将看到媒体描述标签也在控制台中打印。
答案 0 :(得分:1)
您可以告诉XmlSlurper
和XmlParser
不要尝试在构造函数中处理命名空间。我相信这就是你所追求的:
'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
}
}