Allove Team 致力于移动应用的开发和服务(Android,J2ME,iphone,ophone)
« Premium Wordpress Magazine Theme — The New Yorker xml数据通信的利器—-在J2ME 中使用XML传输数据 »

分享:SQL数据格式转换为XML数据

有很强大的数据库同步的软件和中间件支持SQL 数据到XML的转换 ,但是对于自己的项目不需要那么的功能 安装这么多东西 感觉有点得不偿失,还不如自己手写数据转换代码省事!
这个是个很激简单的数据转换的方法 供大家参考!

import java.io.BufferedReader;
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>

读过本文的朋友还浏览过下面这些:

日志信息 »

该日志于2008-12-18 13:35由 秦 涛 发表在[开发及软件]J2ME开发, [技术分享]J2EE分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

19条评论

  1. xiaorsz 说:

    额,高手啊!!
    我在.net里好像学过一点,但都忘 了!

    回复

    SUNJIAN Reply:

    @xiaorsz, 呵呵,都是相通的吧,.net 里面应该可以这么做,不知道对不对:

    private void CreateXmlDemo(DataSet ds) {
    if (ds == null) return;
        string filename = "XmlFile.xml";
        System.IO.FileStream fileStream = new System.IO.FileStream(filename, System.IO.FileMode.Create);
        System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter(fileStream,System.Text.Encoding.Unicode);
        ds.WriteXml(xmlWriter);   
        xmlWriter.Close();
     }

    回复

    xiaorsz Reply:

    @SUNJIAN, 呵呵,厉害!!
    对了,问下你这个主题是买的吗?

    回复

    SUNJIAN Reply:

    @xiaorsz, 呵呵,不是,网上下的,正好下面有人恭喜我用了盗版one-theme,就是联系不上他,我问过官方貌似没什么,只是不提供服务

    回复

  2. JoBru 说:

    厄,能不能先介绍点入门级别的~

    回复

    qintao Reply:

    @JoBru 分享的都是些实际 的应用,理论上是没有什么先后的和难易的。JAVA 代码 看多了就有感觉了!

    回复

  3. ZH CEXO 说:

    我应该让Ariel多来看看你的网站,你们可以多交流一下~

    回复

    SUNJIAN Reply:

    @ZH CEXO, 好的,欢迎之至

    回复

  4. dave 说:

    congrats on using pirated version of one-theme.

    回复

  5. Aappy 说:

    主题确实很不错,收费的代码写的就是明晰。UPUP

    回复

    SUNJIAN Reply:

    @Aappy, 那也不一定,我只是喜欢这个布局.其实这个主题很烂,你所能看到的东西原本都是通过plugin的形式实现的

    回复

  6. Mr-Z 说:

    这些没兴趣。

    等你的发短信软件呢。

    回复

    SUNJIAN Reply:

    @Mr-Z, 过年应该能派上用场

    回复

  7. kaditin 说:

    那个代码的看不懂,呵呵!这个主题好酷我却知道,哈哈!

    回复

  8. Aappy 说:

    没那么慢吧,还要代理?

    回复

  9. 文痞 说:

    传说中的协作写博。。。。

    回复

  10. fpgkib 说:

    c4wOq3 rfowsojtoavc, [url=http://kknfdsqmslkz.com/]kknfdsqmslkz[/url], [link=http://jmgkwsuyrjhj.com/]jmgkwsuyrjhj[/link], http://eeozthqaeftf.com/

    回复

  11. Clomid 说:

    buy wellbutrin online – wellbutrin order clomid – clomid xenical online – xenical xenical online – xenical orlistat order propecia – propecia buy adipex – adipex buy ambien online – ambien buy valium online – valium buy tramadol online – tramadol buy fioricet – fioricet

    回复

发表评论 »

返回顶部