打印groovy nodechild值

时间:2010-07-20 22:08:46

标签: grails groovy

我想在控制台上打印来自外部源的xml。 当我做的时候

log.debug "${xml}"

我在控制台上获取xml值,但不是起始和结束标记。例如

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

只需打印appleorange  只是一个接一个地连接起来的值。处理它的最佳价值是什么。我尝试了这个Best way to pretty print XML response in grails但是我在parseText()中得到了异常。我不知道为什么,因为我认为传入的xml是有效的。

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

2 个答案:

答案 0 :(得分:5)

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

`

def xml = new XmlSlurper().parseText(xmlString)
def result = new StreamingMarkupBuilder().bind{
            mkp.yield xml
            }
log.debug result as String

`

答案 1 :(得分:0)

试试这个

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