Kotlin替代groovy XmlSlurper&;MarkupBuilder
我想在我们的Android项目的gradle builds脚本中用Kotlin替换groovy,这样我就可以开始学习Kotlin了,但我遇到的第一个问题是试图找到一些可以替代XmlSlurper&MarkupBuilder的类或库。有人能推荐一个图书馆或班级使用吗Kotlin替代groovy XmlSlurper&;MarkupBuilder,groovy,kotlin,Groovy,Kotlin,我想在我们的Android项目的gradle builds脚本中用Kotlin替换groovy,这样我就可以开始学习Kotlin了,但我遇到的第一个问题是试图找到一些可以替代XmlSlurper&MarkupBuilder的类或库。有人能推荐一个图书馆或班级使用吗 def entries = new XmlSlurper().parse("${projectDir}/src/release/res/values/app_settings.xml") def fileLocation =
def entries = new XmlSlurper().parse("${projectDir}/src/release/res/values/app_settings.xml")
def fileLocation = "${projectDir}/src/debug/res/xml/env_prod.xml"
println "XML file location = ${fileLocation}"
def writer = new FileWriter(new File(fileLocation))
def xmlOut = new MarkupBuilder(writer)
xmlOut.mkp.xmlDeclaration(version: "1.0", encoding: "utf-8")
xmlOut.Environment {
entries.string.each {
def name = it.@name.toString()
def body = it.text()
if (name.startsWith('default_')) {
// don't copy production omniture when we're doing local testing!
name = name.replace('default_', '').toUpperCase()
xmlOut.entry(['name' : name], body)
}
}
}
对于MarkupBuilder,您可以使用
和GroovyBuilder
方法,因此您完全可以这样开始构建环境
:
val xmlOut = MarkupBuilder(writer)
xmlOut.mkp.xmlDeclaration(mapOf("version" to "1.0", "encoding" to "utf-8"))
xmlOut.withGroovyBuilder {
"Environment"() {
// the logic would go here
}
}
我记不太清楚groovy了,所以我实在帮不上忙。迭代XmlSlurper中的条目看起来有问题。如果您只是将配置存储在这些XML文件中,我建议切换到JSON或HOCON。读和写这些会容易得多;) 这些库似乎可以从Java中使用,因此它们可以直接从Kotlin中使用,不是吗?