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