我的XML就像:
<app>
<module>
<web>
<web-uri>abc.war</web-uri>
<context-root>abc</context-root>
</web>
</module>
<module>
<web>
<web-uri>abc.pl</web-uri>
<context-root>adf</context-root>
</web>
</module>
</app>
仅当context-root
值以 war 结尾时,我才需要web-uri
值。作为一个清单。
def ctxRootList = nodeList.'**'.findAll{
ctxRoot ->
ctxRoot.module.web."web-uri".text().endsWith(".war")
}*.text()
这里有两个问题:
web-uri
值答案 0 :(得分:1)
你走了:
def txt = '''
<app>
<module>
<web>
<web-uri>abc.war</web-uri>
<context-root>abc</context-root>
</web>
</module>
<module>
<web>
<web-uri>abc.pl</web-uri>
<context-root>adf</context-root>
</web>
</module>
</app>'''
def xml = new XmlSlurper().parseText(txt)
xml.module.web.findAll { it.'web-uri'.text().endsWith('war') }*.'context-root'*.text()
诀窍是搜索web
元素 - web-uri
和context-root
的父元素。如果找到这样的元素,您可以轻松地引用它的孩子。