我如何使用groovy插入具有属性和值的节点

时间:2015-11-24 05:21:08

标签: groovy

有一个简单的xml,例如:

def rootNode = new XmlSlurper().parseText(
'<root>
    <one a1="uno!"/>
    <two>Some text!</two>
 </root>' )

如何插入节点

<three type='c'>2334</three>

进入root?

我用这种方式插入

rootNode.appendNode{three(type:'c') 2334}
rootNode = new XmlSlurper().parseText(rootNode)

但它返回异常。

1 个答案:

答案 0 :(得分:1)

下面的脚本应该会给你想要的结果:

从您的更改:three (type:'c', 2334)

import groovy.xml.*
def rootNode = new XmlSlurper().parseText('<root><one a1="uno!"/><two>Some text!</two></root>' )
rootNode.appendNode {
    three (type:'c', 2334)
}
def newRootNode = new StreamingMarkupBuilder().bind {mkp.yield rootNode}.toString()
println newRootNode

输出: <root><one a1='uno!'></one><two>Some text!</two><three type='c'>2334</three></root>