Gradle任务用xml文件替换属性值

时间:2017-08-25 20:59:45

标签: gradle groovy

<a>
    <b>
       <c>ccc</c>
       <version> 1.0.0</version>
       <description> description </description>
    </b>
</a>

我想在gradle任务中使用不同的值替换xml文件中的版本值。你能帮忙解决一下这个问题吗?

1 个答案:

答案 0 :(得分:0)

在groovy代码之后,使用给定值更新指定元素的值。您可以使用它来创建相同的任务。

data = df
resp.status = falcon.HTTP_200
resp.stream = data
resp.content_type = 'text/csv'

您可以在线快速尝试 CompositeFilter

基于OP评论的编辑:

使用def xmlString = """<a> <b> <c>ccc</c> <version> 1.0.0</version> <description> description </description> </b> </a>""" def element = 'version' def newVersion = '2.0.0' def xml = new XmlSlurper().parseText(xmlString) xml.'**'.find{it.name() == element}.replaceBody(newVersion) println groovy.xml.XmlUtil.serialize(xml)

XmlParser and XmlNodePrinter