下のXMLデータからinsert分を作成するスクリプト。
またも、手抜きスクリプト。
面倒なのでDOM使用。
// // vim: set ts=2 sw=2 et ft=java: // import java.io.File import javax.xml.parsers.DocumentBuilderFactory // 引数にXMLを指定 doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(args[0])) // [tables] tag root = doc.getDocumentElement() tables = root.getElementsByTagName("table") tables.each{ table | tableName = table.getAttribute("name") rows = table.getElementsByTagName("row") rows.each{ row | columns = row.getElementsByTagName("column") columnNameList = [] columnDataList = [] columns.each{ column | name = column.getAttribute("name") value = column.getAttribute("value") type = column.getAttribute("type") tmp = value if(type.toLowerCase() == "char" || type.toLowerCase() == "varchar" || type.toLowerCase() == "varchar2"){ tmp = "'" + tmp + "'" } columnNameList.add(name) columnDataList.add(tmp) } columnNames = columnNameList.join(",") columnValues = columnDataList.join(",") println "insert into ${tableName} (${columnNames}) values (${columnValues});" } }
while(<>){
}
ってできたら楽なのにな〜。
================================
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ