我有一个像下面的xml,我只需要将节点名称重命名为另一个。
<a x=1>
<b>c</b>
</a>
我希望将其更改为
<p:a x=1>
<b>c</b>
</p:a>
我需要使用xmlSlurper来做,所以我该怎么做?我该怎么做节点重命名。是否需要将整个xml重写为另一个文档等?或者我可以在文件中这样做吗?
def xmlDoc = new XmlSlurper(false,false).parse('my.xml')
答案 0 :(得分:0)
首先,您需要修复XML。属性 x 的值需要引号:
<a x="1">
<b>c</b>
</a>
然后重命名根节点:
xmlDoc.replaceNode {
'p:a'(it.children())
}
答案 1 :(得分:-1)
XmlSlurper将XML读入对象结构。一旦你阅读它,你可以用它做任何你想做的事,但XmlSlurper与它无关。
使用MarkupBuilder从该读入对象结构中写出XML。