2017-09-06 7 views
0

ImはXMLでちょっと止まっています。ローカルファイルを含むGroovy MarkUpBuilder

<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を使用する方法と、XMLでsqlfileでのパスは、私はそのようにXMLを構築するために問題を抱えているdirdir1を使用してロードされSQLfilesあるフォルダから取られなければなりませんdir1そのXMLを生成する良い方法はありますか?そして、どのように特定の拡張子のファイル(SQL)

答えて

0

が、それは非常に簡単だったが、ちょうど使用し得る.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") 
}}} 
関連する問題