gpt4 book ai didi

java - Groovy-修改xml文件值

转载 作者:行者123 更新时间:2023-12-03 05:02:58 33 4
gpt4 key购买 nike

我有一个XML文件,我在下面粘贴我的xml文件。我想使用常规脚本更改splash_color的值。我试图解析它,但无法成功。
XML格式

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="splash_color">#D3B61A</color>
</resources>
Groovy代码:
def xmlFile = "$androidWorkingDirPath/app/src/main/res/values/colors.xml"
def xml = new XmlParser().parse(xmlFile)
xml.color[0].each {
//it.@name = "test2"
//it.value = "test2"
println("it.value=$it.value")
println("it.value=$it.value.name")
}
new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile))).println("Xmlvalue=$xml")

最佳答案

下面的作品。

def xmlFile = '''<?xml version="1.0" encoding="UTF-8"?>
<resources>
<color name="splash_color">#D3B61A</color>
</resources>
'''
您可以使用 XmlUtil.serialize代替 new XmlNodePrinter(new PrintWriter(new FileWriter ...
import groovy.xml.XmlUtil
我正在使用 parseText(),因为在此示例中,我没有从文件中读取
def resources = new XmlParser().parseText(xmlFile)
您不必在这里使用 [0],但是如果有更多同名节点,请使用 findAll()
resources.color.each { 
使用 ${}插入字符串中的变量
    println "it.value=${it.value}" 
println "it.name=${it.@name}"
}

println XmlUtil.serialize(resources)
您可以将其通过管道传输到文件。
有关节点的替换,请参见 this

关于java - Groovy-修改xml文件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64568576/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com