我需要根據傳遞的命令行參數來解析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