问题描述
|
我有这个xml,我想在其中添加新的“ 0”
<rows>
<row>
<name>Abhishek</name>
<host>[email protected]</host>
</row>
<row>
<name>Simon</name>
<host>[email protected]</host>
</row>
<rows>
我使用MarkupBuilder(writer)创建了这个xml,但是现在我如何追加一个新的row
元素
编辑:
def writer = new StringWriter()
def xml = new MarkupBuilder(writer)
解决方法
要在Groovy中做到这一点,一种解决方案是:
import groovy.xml.StreamingMarkupBuilder
def xml = \"\"\"<rows>
<row>
<name>Abhishek</name>
<host>[email protected]</host>
</row>
<row>
<name>Simon</name>
<host>[email protected]</host>
</row>
</rows>\"\"\"
def root = new XmlSlurper().parseText( xml )
root.appendNode {
row {
name( \'tim\' )
host( \'[email protected]\' )
}
}
def outputBuilder = new StreamingMarkupBuilder()
String result = outputBuilder.bind{ mkp.yield root }