[英]Groovy MarkUpBuilder with local files
我有點不喜歡XML。 XML中sqlfile
中的路徑必須來自使用dir
和dir1
加載SQLfile的文件夾中,我在構建XML時遇到問題:
<databaseChangeLog
<changeSet author="John" id="JRIA" failOnError="true" runAlways="false">
<sqlFile path="path.sql" relativeToChangelogFile="true" encoding="utf8" />
<rollback>
<sqlFile path="rollback/path.sql" relativeToChangelogFile="true" encoding="utf8" />
</rollback>
</changeSet>
我的例子:
import groovy.io.FileType
import groovy.xml.*
def dir = new File("C:\\Users\\John\\git\\changelogs\\version1\\db")
def dir1 = new File("C:\\Users\\John\\git\\changelogs\\version1\\rollback")
def sw = new StringWriter()
def xml = new groovy.xml.MarkupBuilder(sw)
xml.changeSet(author:"John", ID:"JIRA", failOnError: "True", runAlways: "false"){
sqlFile(path:"From DIR", relativeToChangelogFile="true")
rollback(){
sqlFile(path:"From DIR1", relativeToChangelogFile="true")}
}
如何以良好的方式使用dir
和dir1
生成該XML? 以及如何獲取特定的擴展文件(SQL)
這非常簡單,只需使用.each
xml.dataBaseChangeLog(){
dir.eachFileRecurse(FileType.FILES) { file ->
changeSet(author:"John", ID:"JIRA", failOnError: "True", runAlways: "false")
sqlFile(path:file, relativeToChangelogFile="true")
rollback(){
sqlFile(path:file, relativeToChangelogFile="true")
}}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.