前回の質問の延長です。このような入力xmlを取得した場合
<ClientInformation>
<FirstName>Steve</FirstName>
<LastName>Jobs</LastName>
<MiddleName/>
<DateOfBirth>09/18/2013</DateOfBirth>
<RoleTypeCT>OWN</RoleTypeCT>
<RoleTypeCT>IBE</RoleTypeCT>
<RoleTypeCT>Insured</RoleTypeCT>
</ClientInformation>
出力 Xml は
<ClientInformation>
<FirstName>Steve</FirstName>
<LastName>Jobs</LastName>
<MiddleName/>
<DateOfBirth>09/18/2013</DateOfBirth>
<RoleTypeCT>OWN</RoleTypeCT>
</ClientInformation>
<ClientInformation>
<FirstName>Steve</FirstName>
<LastName>Jobs</LastName>
<MiddleName/>
<DateOfBirth>09/18/2013</DateOfBirth>
<RoleTypeCT>IBE</RoleTypeCT>
</ClientInformation>
<ClientInformation>
<FirstName>Steve</FirstName>
<LastName>Jobs</LastName>
<MiddleName/>
<DateOfBirth>09/18/2013</DateOfBirth>
<RoleTypeCT>Insured</RoleTypeCT>
</ClientInformation>
Groovy コード
if(it.name()=="ClientInformation") {
println it.RoleTypeCT.size() //prints 3 on console
}
次の手順を考えています。
it
ローカル変数に割り当てます。def clientInfo = it
RoleTypeCT
からすべてのノードを削除しclientInfo
ます。試しclientInfo.RoleTypeCT.replaceNode{}
てみましたが、エラーが発生しました。original の RoleTypeCT ごとに
it
、 に追加RoleTypeCT
しclientInfo
ます。何かのようなものit.RoleTypeCT.each { def roleType = it clientInfo.appendNode(roleType) }
RoleTypeCT
このアプローチが問題ない場合、最初にすべてのノードを削除するにはどうすればよいでしょうか?