使用xmlSlurper

时间:2016-05-27 23:52:57

标签: groovy xmlslurper

我有一个像下面的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')

2 个答案:

答案 0 :(得分:0)

首先,您需要修复XML。属性 x 的值需要引号:

<a x="1">
  <b>c</b>
</a>

然后重命名根节点:

xmlDoc.replaceNode {
    'p:a'(it.children())
}

答案 1 :(得分:-1)

XmlSlurper将XML读入对象结构。一旦你阅读它,你可以用它做任何你想做的事,但XmlSlurper与它无关。

使用MarkupBuilder从该读入对象结构中写出XML。