我需要根据传递的命令行参数来解析xml文件。只有两个参数传递给groovy程序。当两个参数都被传递时,我能够解析并得到结果,但是当可选参数(第二个参数)未被传递时,程序无法工作。使用groovy访问XML元素
<env>
<environment name="qa">
<server name="qaserver1">
<vip>12.13.14.15</vip>
<vip>12.13.14.16</vip>
</server>
<server name="qaserver2">
<vip>12.13.14.17</vip>
<vip>12.13.14.18</vip>
</server>
</environment>
</env>
需要此代码块时的参数
// Assuming both parameters are passed, this block works
def envName = "qa"
def serverName = "qaserver1"
def env = new XmlSlurper().parse("vips.xml")
env.environment.find{ environment ->
[email protected] == envName
}.server.find { server ->
[email protected] == serverName
}.vip.each{
println it.text()
}
有什么参数? – Will
你的代码应该做什么,如果值不存在?请提供示例 – cfrick
@将P命名和serverName是从命令行传递的参数。在这个例子中我已经硬编码了。 – smhvrtyj