例如,如何以编程方式删除 one 中名称为 rootNode 的所有标签?

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

我试过了
rootNode.children().removeAll{ it.name() == 'one' }

但它报告说:
groovy.lang.MissingMethodException: No signature of method: groovy.util.slurpersupport.NodeChildren.removeAll() is applicable for argument types: (DUMMY$_closure1_closure2) values: [DUMMY$_closure1_closure2@6c5f92d3]

最佳答案

尝试

rootNode.one.replaceNode { }

要完成答案:
def rootNode = new XmlSlurper().parseText (
    '<root><one a1="uno!"/><two>Some text!</two></root>'
)

rootNode.one.replaceNode { }

println groovy.xml.XmlUtil.serialize( rootNode )

关于xml - 如何使用 XmlSlurper 删除 Groovy 中的元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33863015/

10-12 03:11