Grails 打印groovy nodechild值

Grails 打印groovy nodechild值,grails,groovy,Grails,Groovy,我想打印来自控制台外部提要的xml。 当我这样做的时候 log.debug "${xml}" 我在控制台上获得xml值,但没有开始和结束标记。比如说 <fruits> <fruit1>apple</fruit1> <fruit2>orange</fruit2> </fruits> 苹果 橙色 只打印AppleRange 只是值一个接一个地连接在一起。处理它的最佳价值是什么。我尝试了此操作,但在

我想打印来自控制台外部提要的xml。 当我这样做的时候

log.debug "${xml}"
我在控制台上获得xml值,但没有开始和结束标记。比如说

 <fruits>
     <fruit1>apple</fruit1>
     <fruit2>orange</fruit2>
 </fruits>

苹果
橙色
只打印AppleRange 只是值一个接一个地连接在一起。处理它的最佳价值是什么。我尝试了此操作,但在parseText()处出现异常。我不知道为什么,因为我认为传入的xml是有效的

更新:变量xml的类型是Groovy的NodeChild

试试这个

def writer = new StringWriter()
xml.writeTo(writer)
log.debug writer.toString()

您可以执行以下操作,如果您的xml很简单,它应该满足您的需要:

`


`

首先检查xml对象的类(log.debug(xml.class)输出)这是异常错误。GrailExceptionResolver:groovy.lang.MissingMethodException:没有方法签名:groovy.util.XmlParser.parseText()适用于参数类型:xml属于NodeChild类型,因为我从外部WebService的请求中得到的xml是一个简单的xml。原来的问题令人困惑。我会更新的。变量xml实际上是一个NodeChild对象,那么我的答案就行了。parseText返回一个NodeChild对象
def xml = new XmlSlurper().parseText(xmlString)
def result = new StreamingMarkupBuilder().bind{
            mkp.yield xml
            }
log.debug result as String