首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示XML解析Groovy列表结果的内容

显示XML解析Groovy列表结果的内容
EN

Stack Overflow用户
提问于 2021-02-25 00:52:11
回答 1查看 39关注 0票数 1

试图找出如何将使用Groovy解析的XML访问到项目列表中。

下面是列表中的一项内容:

[项目[attributes={};value=[标题[attributes={};value=Penn State ]提供关于2021年夏季和秋季教学模式的最新情况],链接[attributes={}];attributes={};value=Penn State计划在夏季学期分阶段返回2021年秋季全面校园学习环境。大学的首要任务仍然是 的健康和学生、教师、教职员工和当地社区的福祉,而扩大面对面课程的计划在必要时具有迅速应对不断变化的流行病状况的灵活性。 ],[attributes={isPermaLink=false};isPermaLink=false pubDate[attributes={};value=Wed,2021年2月24日13:21-0500],来源[attributes={url=标签/最新消息};value=Penn State News -最新新闻]]

我无法得到真正的标题,链接和描述。相反,我使用以下代码获得了整个值:

代码语言:javascript
复制
def pennStateNews = news.getNews(1)
println "Penn State News (unformatted):"
println pennStateNews
println "-----------------------------"
println pennStateNews.size()
println "Title is : " + pennStateNews.get(0).title
println "Link is :" + pennStateNews.get(0).link 
println "Description is : " + pennStateNews.get(0).description

这是输出:

1标题为*:[标题[attributes={};value=Penn State提供关于2021年夏季和秋季教学模式的最新资料]链接是*attributes={};value=Penn州立大学计划于2021年秋季分阶段在夏季学期返回一个完整的校园学习环境。大学的首要任务仍然是 的健康和学生、教师、教职员工和当地社区的福祉,而扩大面对面课程的计划在必要时具有迅速应对不断变化的流行病状况的灵活性。 ]] ]

我想得到标题的价值,“宾夕法尼亚州立大学提供更新的教学模式为2021年夏季和秋季”以及链接和描述,并无法计算如何。在论坛和文档中到处查找。

EN

回答 1

Stack Overflow用户

发布于 2021-02-26 06:53:01

假设我们有这样一个XML结构(我认为它大致类似于您正在使用的XML):

代码语言:javascript
复制
def xmlStr = '''
<xml>
    <item> 
       <title>Penn State provides...</title>
       <link>https://news.psu.edu/story/648884...</link>
       <description>Penn State is planning a phased...</description>
       <guid isPermaLink="false">https://news.psu.edu/story/648884/...</guid>
       <pubDate>Wed, 24 Feb 2021 13:21 -0500</pubDate>
       <source url="https://news.psu.edu/rss/internal_tags/latest-news">Penn State News - Latest News</source>
    </item> 
  </xml>'''

我们可以通过它的路径锁定节点。一旦我们成功地进入了那个节点,我们就可以在结果匹配上调用text()

代码语言:javascript
复制
def xml = new XmlSlurper().parseText(xmlStr)

assert "Penn State provides..." == xml.item.title.text()
assert "https://news.psu.edu/story/648884..." == xml.item.link.text()
assert "Penn State is planning a phased..." == xml.item.description.text()

你可以找到更多的信息,这里是Groovy文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66360951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档