我正在尝试使用列表数组循环遍历XMLSlurper查找语句。你能做这个吗?

时间:2013-04-27 18:45:20

标签: groovy xmlslurper

我正在尝试循环这样的表达式,将字符串'question-hyperlink'更改为 列表中的项目我是groovy的新手,无法找到有效的方法。你真的需要硬编码吗?我能找到的每个例子都是硬编码的

.find{ it.@class == 'question-hyperlink'}it.book.title 

1 个答案:

答案 0 :(得分:3)

无需硬编码,您可以使用列表,并且可以使用in运算符:

xml = '''<div>
    <div class="header">header div</div>
    <div class="body">body div</div>
    <span class="footer">footer span</span>
</div>
'''

node = new XmlSlurper().parseText xml

// the element's classes we want
classes = ['header', 'body']

contents = node.breadthFirst().findAll { it.@class in classes }*.text()

assert contents == ['header div', 'body div']