更新时间:2023-12-05 17:07:16
您只需要转换输入xml。
这可以通过以下方式实现:
看起来您正在寻找后者。 p>
以下是groovy脚本: $ b
def xml ='''<?xml version =1.0encoding =UTF-8?>
< Record>
< XYZ>
< Header>
< Code> 12345< / Code>
< / Header>
<详情>
< RecID> 1< / RecID>
< RecordDetail>
<名称> ABC< /名称>
<电子邮件> abc@in.com< /电子邮件>
<地址> 123,acdf< /地址>
< / RecordDetail>
< /详细>
<详情>
< RecID> 2< / RecID>
< RecordDetail>
<名称> ABC< /名称>
<电子邮件> abc@in.com< /电子邮件>
< / RecordDetail>
< /详细>
< / XYZ>
< / Record>'''
def parsedXml = new XmlSlurper()。parseText(xml)
$ b $ def builder = new groovy.xml.StreamingMarkupBuilder )
builder.encoding ='UTF-8'
def transformedXml = builder.bind {
mkp.xmlDeclaration()
记录{
标题{
code(parsedXml。'**'。find {it.name()=='Code'})
}
def details = parsedXml。'**'。findAll {it.name()= ='Details'}
details.each {detail - >
详细信息{
RecID(detail.RecID)
detail.RecordDetail.children()。each {fld - >
RecordDetail {
FieldName(fld.name())
FieldValue(fld.text())
}
}
}
}
println groovy.xml.XmlUtil.serialize(transformedXml)