次のような XML があります。
<Envelope>
<Node>
<Status>1</Status>
<Name1>John</Name1>
<Name2>Smith</Name2>
</Node>
<Node>
<Status>2</Status>
<Name1>Jane</Name1>
<Name2>Doe</Name2>
</Node>
</Envelope>
各ノードを反復処理し、Status の値が 1 の場合は Name1 を使用し、2 の場合は Name2 を使用します。
Envelope = holder.getNodeValues("//ns2:NonProvisionedServers")
for(node in Envelope)
if(node.Status == 1)
{
assert node.Name1 == "SomeFirstName"
}
if(node.Status == 2)
{
assert node.Name2 == "SomeLastName"
}
以前に最小限の Groovy スクリプトを作成したことがあります。関連する投稿を見たことがありますが、それらは子ノードのみを反復処理します。これは、親ノードに多くの子ノードがあり、通過する親ノードがたくさんあるため、実行したくありません。どんな助けでも大歓迎です。