如何删除特定的XML子节点

时间:2017-06-20 07:09:07

标签: xml groovy

在Groovy中,我想删除一个特定的子节点,但不是所有的子节点。

以下是一些示例XML:

<A>
  <q>hello</q>
  <w>world</w>
  <e>again</e>
</A>

如何删除节点及其内容/属性(如果有)?

我已尝试在节点上使用.replaceBody方法,但子节点不被视为父节点主体的一部分。

1 个答案:

答案 0 :(得分:0)

以下是使用XmlParser生成groovy.util.Node

的示例

并且有一个方法删除。 http://docs.groovy-lang.org/latest/html/api/groovy/util/Node.html

def x = new XmlParser().parseText('''
<A>
  <q>hello</q>
  <w>world</w>
  <e>again</e>
</A>
''')

x.remove( x.w[0] )

println groovy.xml.XmlUtil.serialize(x)