我使用Groovy和
对于我的用例,一个节点被克隆、编辑并在编辑结束后替换原始节点。
Node对象有一个
作为
这里有一个相关的问题,使用XmlSlurper解决了,但我不想这样做:Groovy: Node.replaceNode with Node?
XmlParser
解析XML文件。使用点符号表示法,我可以将所需的节点作为Node
实例接收到。对于我的用例,一个节点被克隆、编辑并在编辑结束后替换原始节点。
Node对象有一个
replaceNode
方法,它期望一个闭包,并具有以下文档:
使用构建器样式符号通过闭包将当前节点替换为定义的新节点。
@param c 使用构建器样式符号定义新节点的一个闭包。
我的问题是,如何将一个节点实例替换为另一个节点实例?
这是我现在正在做的事情,当然不起作用:Node referenceNode
Node editedNode
referenceNode.replaceNode {
editedNode
}
作为
plus()
方法也期望相同的语法,这对我来说有些困难。这里有一个相关的问题,使用XmlSlurper解决了,但我不想这样做:Groovy: Node.replaceNode with Node?
replaced.children().toArray().each { replaced.remove(it) } node.children().each { replaced.append(it) }
并且还修改了属性。 - Nico O