加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

groovy – 将更新的XML写入最初解析的文件

发布时间:2020-12-14 16:28:41 所属栏目:大数据 来源:网络整理
导读:我有一个gradle.build,我正在尝试: 读取XML文件 使用XmlSlurper更新读取XML文件中的属性 将更新的XML写回最初解析的xml文件. 第三步仅在我将修改后的XML写入新的不存在的XML文件而不是最初解析的XML文件时才有效. 将修改后的XML写入最初解析的XML文件的最简
我有一个gradle.build,我正在尝试:

>读取XML文件
>使用XmlSlurper更新读取XML文件中的属性
>将更新的XML写回最初解析的xml文件.

第三步仅在我将修改后的XML写入新的不存在的XML文件而不是最初解析的XML文件时才有效.

将修改后的XML写入最初解析的XML文件的最简单方法是什么?

我的代码到目前为止:

def inFile = file('file.xml')
def outFile = file('_file.xml')

def xml = new XmlSlurper().parse(inFile)

// update xml code here

def outBuilder = new StreamingMarkupBuilder()
def outWriter = outFile.newWriter()
XmlUtil.serialize(outBuilder.bind{ mkp.yield xml },outWriter)

我想outFile是file.xml,以便它覆盖原始的XML文件.

解决方法

如果您这样做会发生什么:

def inFile = file( 'file.xml' )
def xml = new XmlSlurper().parse( inFile )

xml.appendNode {
    haha( 'tim_yates' )
}

inFile.withWriter { outWriter ->
    XmlUtil.serialize( new StreamingMarkupBuilder().bind{ mkp.yield xml },outWriter )
}

它只是没有写? (似乎对我有用)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读