我有一个看起来像这样的xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Samples>
<Sample>
<Name>
Sample1
</Name>
<Date>
01/20/2016
</Date>
</Sample>
</Samples>
我想简单地从&#34;样本&#34;更改标签名称to&#34; SampleList&#34;。我该怎么做?
答案 0 :(得分:1)
replaceNode
可用于重命名节点,如下所示:
def xml = '''<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Samples>
<Sample>
<Name>
Sample1
</Name>
<Date>
01/20/2016
</Date>
</Sample>
</Samples>
'''
def result = new XmlSlurper().parseText(xml)
result.replaceNode {
'SampleList' it.children()
}
groovy.xml.XmlUtil.serialize(result)
replaceNode
将一个闭包作为方法参数,该参数委托给构建器。特别是在这种情况下,替换节点而不是将其附加到主文档。 'SampleList' it.children()
与'SampleList(it.children())'
类似。
Parsed xml的根元素为Samples
(需要替换),replaceNode
直接在result
完成。