分享:SQL数据格式转换为XML数据
有很强大的数据库同步的软件和中间件支持SQL 数据到XML的转换 ,但是对于自己的项目不需要那么的功能 安装这么多东西 感觉有点得不偿失,还不如自己手写数据转换代码省事!
这个是个很激简单的数据转换的方法 供大家参考!
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.regex.Pattern;
public class SqlParser implements Runnable{
private String result;
private File f;
public static void main(String[] args) {
Thread t=new Thread(new SqlParser());
t.start();
}
public String getTemplate(String fileName) {
result = "< ?xml version="1.0" encoding="gb2312"?><xml>";
try {
f = new File(fileName);
BufferedReader br = new BufferedReader(new FileReader(f));
String temp = br.readLine();
while (temp != null) {
temp = parser(temp);
result += temp + "n";
temp = br.readLine();
}
br.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public String parser(String str) {
String r = "";
String temp = str;
String[] t = temp.split(",");
for (int i = 0; i < t.length; i++) {
if (i == 0) {
r += "<node><a>" + t[i] + "</a>";
} else if (i == 1) {
r += "<b>" + t[i] + "</b>";
} else if (i == 2) {
r += "<c>" + t[i] + "</c>";
} else if (i == 3) {
r += "<d>" + t[i] + "</d>";
}
}
return r;
}
public void write(String str, String filename) {
try {
File f = new File(filename);
BufferedWriter output = new BufferedWriter(new FileWriter(f));
output.write(str);
output.flush();
output.close();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void run() {
System.out.println("Start parsering........Please wait!");
System.out.println("This may take few min depend on the files length");
this.write(this.getTemplate("data.txt"), "data.xml");
System.out.println("Parser Success!");
}
}
</xml>


19条评论 ▼