java指定sql生成xml,[精]用java语言将数据库中的数据表转换为xml文件的通用程序...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

public void collectData(String namestring,int index,String type )

{

if(type.equals("attribute"))

attrilist.add(new SaveAttrName(namestring,index));

else

elelist.add(new SaveEleName(namestring,index));

//System.out.println("else");

//System.exit(0);

}

public void startWrite()

{

new WriteXmlFile(attrilist,elelist,rs,url).create(root,rootchild);

}

}

文件 SaveAttrName.java 内容:

package currencycreatexml;

class SaveAttrName

{

private String attributename;

private int index;

public SaveAttrName(String attributename,int index)

{

this.attributename=attributename;

this.index=index;

}

public String getAttributeName()

{

return attributename;

}

public int getIndex()

{

return index;

}

}

文件 SaveEleName.java 内容:

package currencycreatexml;

class SaveEleName

{

private String elementname;

private int index;

public SaveEleName(String elementname,int index)

{

this.elementname=elementname;

this.index=index;

}

public String getElementName()

{

return elementname;

}

public int getIndex()

{

return index;

}

}

文件 WriteXmlFile.java 内容:

package currencycreatexml;

import java.io.*;

import java.sql.*;

import java.util.ArrayList;

import java.util.Iterator;

import javax.xml.parsers.*;

import org.w3c.dom.*;               //使用dom解析

import org.apache.crimson.tree.*;  //写xml文件需要用到的jar包

class WriteXmlFile

{

private ResultSet rs;

private String url;

private ArrayList attrilist;

private ArrayList elelist;

public WriteXmlFile(ArrayList attrilist,ArrayList elelist,ResultSet rs,String url)

{

this.attrilist=attrilist;

this.elelist=elelist;

this.rs=rs;

this.url=url;

}

/**

* @param root : xml文件的根元素名

*/

public void create(String root,String rootchild)

{

DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();

Document doc=null;

try

{

DocumentBuilder db = dbf.newDocumentBuilder();

doc = db.newDocument();

}

catch (ParserConfigurationException e)

{

e.printStackTrace();

}

Element rootelement=doc.createElement(root);

doc.appendChild(rootelement);

Iterator attri=attrilist.iterator();

Iterator ele=elelist.iterator();

//System.out.println("iterator");

try

{

while(rs.next())

{

Element rootchildelement=doc.createElement(rootchild);

//System.out.println("while");

while(attri.hasNext())

{

/**

*  循环到属性集合中取元素名称,之后从查询结果集中取得数据,创建元素属性

*/

SaveAttrName temp=(SaveAttrName)attri.next();

rootchildelement.setAttribute(temp.getAttributeName(),rs.getString(temp.getIndex()).trim());

}

rootelement.appendChild(rootchildelement);

while(ele.hasNext())

{

/**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值