java生成xml格式数据
2009-12-01 20:17
337 查看
//获取数据库数据返回list
//此方法是关键(获取tree结构)
//测试main方法
public static void main(String[] args) {
GAccountDAO gd=new GAccountDAO();
String a = gd.getTree(1);
System.out.println(a);
}
public List queryAll(int fcateId) { List list = new ArrayList(); String sql = "select * from g_Account where fCateID=? order by fCode"; Connection con = SqlHelp.getConn();//获得连接,sqlhelp自己写的工具类 PreparedStatement pst = null; ResultSet rs = null; try { pst = con.prepareStatement(sql); pst.setInt(1, fcateId); rs = pst.executeQuery(); while (rs.next()) { GAccount ga=new GAccount(); ga.setFCode(rs.getString("fCode")); ga.setFName(rs.getString("fName")); ga.setFCateID(rs.getInt("fCateID")); ga.setFLevel(rs.getInt("fLevel")); ga.setFParent(rs.getString("fParent")); ga.setFIsDetail(rs.getInt("fIsDetail")); list.add(ga); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { SqlHelp.colseConn(con, pst, rs); } return list; }
//此方法是关键(获取tree结构)
public String getTree(int fcateId){ StringBuffer sb=new StringBuffer(); List gas=this.queryAll(fcateId); String fparent=""; String fcode=""; int flevel=0; //sb.append("<node>/r"); for (Iterator iterator = gas.iterator(); iterator.hasNext();) { GAccount ga = (GAccount) iterator.next(); if (!ga.getFParent().equals(fparent)) { if (!ga.getFParent().equals(fcode)) { sb.append("/r"+getT("/t",ga.getFLevel())+"</node>/r"); for (int i = 1; i < flevel - ga.getFLevel(); i++) { sb.append("/r/t</node>/r"); } } } if(ga.getFLevel()==1){ sb.append("<node label=/""); sb.append(ga.getFCode()+"-"+ga.getFName()); sb.append("/" id=/""+ga.getFCode()+"/">/r"); if(ga.getFIsDetail()==1){ sb.append("</node>/r"); } }else{ if(ga.getFIsDetail()==1){ sb.append(""+getT("/t", ga.getFLevel())+"<node label=/""); sb.append(ga.getFCode()+"-"+ga.getFName()); sb.append("/" id=/""+ga.getFCode()+"/"></node>/r"); }else{ sb.append(""+getT("/t", ga.getFLevel())+"<node label=/""); sb.append(ga.getFCode()+"-"+ga.getFName()); sb.append("/" id=/""+ga.getFCode()+"/">/r"); } } fparent=ga.getFParent(); fcode=ga.getFCode(); flevel=ga.getFLevel(); } sb.append("</node>"); return sb.toString(); } private String getT(String str,int count){ String s=""; for (int i = 0; i < count; i++) { s=s+str; } return s; }
//测试main方法
public static void main(String[] args) {
GAccountDAO gd=new GAccountDAO();
String a = gd.getTree(1);
System.out.println(a);
}
相关文章推荐
- java 生成复杂xml格式数据
- java转换CSV文件生成xml格式数据
- Java OpenSSL生成的RSA公私钥进行数据加解密详细介绍
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- java 数据库表生成javabean
- 使用java生成json数据
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- java千万级别数据生成文件思路和优化
- java 生成XML格式文件
- ztree+java后台取数据(包括异步)生成树状图
- 纯java方式访问远程WebService接口返回的xml格式的数据保存在本地
- mybatis根据数据表逆向生成java代码
- Java的微信开发中使用XML格式和JSON格式数据的示例
- Java实现指定数据表导出生成Excel
- Java解析XML格式数据的方法详解
- java 数据库表反向生成相应的java类
- 如何使用java自动生成数据表id,java.util.UUID类
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- 一个来将返回的 JSON 数据自动生成 Java 对象的工具
- 如何生成高性能的java千万级别数据文件