[英]Kotlin replacement for groovy XmlSlurper & MarkupBuilder
我以為我會在我們的 Android 項目的 gradle 構建腳本中用 Kotlin 替換 groovy,這樣我就可以開始學習 Kotlin,但我遇到的第一個問題是試圖尋找一些可以替換 XmlSlurper 和 MarkupBuilder 的類或庫。 有人可以建議使用圖書館或課程嗎?
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,你可以使用withGroovyBuilder
方法,所以你絕對可以做這樣的事情來開始構建Environment
:
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。 閱讀和寫入這些會容易得多;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.