这是我之前问题的延伸。如果我得到这样的输入 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
节点?