且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将XML代码段插入Groovy中的另一个XML文档中

更新时间: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()