更新时间:2023-11-24 16:17:52
原因:
使用appendNode()
而不是append()
.尝试以下方法:
use of appendNode()
instead of append()
. Try this instead:
bodyNode.child*.append(fragmentNode)
或者
这是使用XmlSlurper
获得正确输出的一种方法:
This is one way to achieve the correct output using XmlSlurper
:
def body = '''
<parent>
<child>
<elem>
<name>Test</name>
</elem>
</child>
</parent>
'''
def fragment = '''
<foo>
<bar>hello!</bar>
<baz/>
</foo>
'''
def slurper = new XmlSlurper( false, false, false )
def bodyNode = slurper.parseText( body )
def fragmentNode = slurper.parseText( fragment )
bodyNode.child << fragmentNode
def sw = new StringWriter()
groovy.xml.XmlUtil.serialize(bodyNode, sw)
println sw.toString()