数据库部门数据生成xml树

部门bean主要代码

    private String deptname;//部门名称
    private String deptcode;//部门编码
    private String fdeptcode;//上级部门编码
    private String isleaf;//是否为叶子部门
    private List<Dep> children;//子部门集合
    private String id;//部门id
    //设置如何获取子部门
    public void setChildren(String fdeptcode) {
        if(isleaf.equals("1")){
        }else{
            List<Dep> listDep=new ArrayList<Dep>();
            DbConn db=new DbConn();
            ResultSet rst=null;
            
            String sql1="select deptcode from comdept where fdeptcode=‘"+fdeptcode+"‘";
            try {
                rst=db.executeQuery(sql1);
                while(rst.next()){
                    String depcode=rst.getString("deptcode");
                    //调用构造方法如果dep还有子部门也会放到dep下
                    Dep dep=new Dep(depcode);
                    listDep.add(dep);
                }
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            this.children = listDep;
        }

    }
    //构造方法
    public Dep(String deptcode){
        this.deptcode=deptcode;
        setAll(deptcode);
        setChildren(deptcode);
    }

向xml写树形目录代码

public class WriteToXml {
    static List<Dep> listdep=new Dep("0000"); //0000为部门根
    Element  root=DocumentHelper.createElement("Dep");
    Document doc=DocumentHelper.createDocument();
    public  void Write(List<Dep> listdep,Element element){

            for(Dep dep:listdep){
                //添加节点名字为部门名字
                Element menuElement = element.addElement(dep.getDeptname());
                //向节点添加属性deptcode,value为部门id
                Attribute att=DocumentHelper.createAttribute(menuElement, "deptcode",dep.getDeptcode());
                menuElement.add(att);
                if(dep.getChildren()!=null&&dep.getChildren().size()>0){
                    Write(dep.getChildren(),menuElement); 
                }
            }
    }
    public void WriteAll(String path){
        //全部节点写到root节点
        Write(listdep,root);
        try{

            XMLWriter xmlwriter=new XMLWriter(new FileWriter(new File(path)));
            doc.add(root);
            xmlwriter.write(doc);
            xmlwriter.close();
        }catch(IOException e){
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        WriteToXml t=new WriteToXml();
        t.WriteAll("E://test.xml");
    }
}

好不容易终于大概知道xml是怎么写的了...下一步再把xml形成html的树形目录。

时间: 2024-10-07 16:11:27

数据库部门数据生成xml树的相关文章

数据生成XML导入Excel

void GenerateXML(Dictionary<string, PrefabDict> dict) { string xmlPath = Application.dataPath + "/Editor/CharactersEffectPoint/EffectPointsInfo.xml"; if (File.Exists(xmlPath)) { Debug.Log(xmlPath); File.Delete(xmlPath); } XmlDocument xmlDo

使用IO流将数据库中数据生成一个文件,结果使用Notepad++打开部分数据结尾出现NUL

场景描述: 项目中通过java代码中从数据库中查询一系列数据,对数据做相应处理,然后通过字符流将数据写如一个新生成的文件中,将该项目部署在linux服务器上,最后生成的文件拿到本地使用notepad++打开会在部分数据末尾出现NUL 排查原因: NUL在C语言中是一个特殊字符常量'\0',空字符 在linux中处理字符串写入,每行字符串结尾如果是空字符,linux就会用'\0'表示 解决方案: 使用该文件时将NUL替换为“ ”空字符 public static String trimnull(S

Java千万级别数据生成文件思路和优化

一年前写过一个百万级别数据库数据生成配置xml文件的程序,程序目的是用来把数据库里面的数据生成xml文件.程序可以配置多少文件生成到一个文件中去. 程序刚开始设计的时候说的是最多百万级别数据,最多50W数据生成到一个xml文件里面去,所以在做测试的时候自己也只是造了100W的数据并没有做过多数据量的测试,然后问题就来了....由于程序使用的局点数据量巨大,需要生成xml文件的客户资料接近千万级别的程度,而现场对程序的配置大约是100W条数据生成一个xml文件里面去,程序在这样的大数据量下面偶尔会

Java-封装生成JSON数据和XML数据类

1.背景 借鉴与php中 app接口的实现(php写app接口生成xml和json数据),封装了java版的json和xml数据操作类! 2.准备 在使用之前,需要引入 json 的jar 包:点我下载 ! 这里实现了,对象转json , 对象集合转json, 对象转xml,对象集合转xml ; 3.appUtil 工具类实现 具体的实现过程,我就不解释了,一边写,一边测试!直到写成为止! 里面的 tojsonArray() 方法 没有使用,可以删除,不过想生成json数组的 ,就不需要删除了!

jxl读数据库数据生成xls 并下载

1.所需jar jxl-2.6.10.jar jxls-core-1.0-RC-3.jar jxls-reader-1.0-RC-3.jar 2. excel修改行宽度封装 SheetColumn.java package com.tp.soft.common.excel; import jxl.write.WritableSheet; /** * excel修改行宽度 * @author taop * */ public interface SheetColumn { public abstr

Android学习之XML数据的三种解析方式以及生成XML文件

首先,我得声明,本博客的思想主要参考了此博客:http://blog.csdn.net/liuhe688/article/details/6415593 不过代码我自己一句句敲的 好了,首先讲一下解析XML的三种方式:(恕我粘贴一下哈) SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理.在事件源调用事件处理器中特定方

php编写app接口(二)-PHP生成XML数据

在Reponse.php文件中添加方法xml(): public static function xml(){ header('Content-type: text/xml'); $xml = "<?xml version='1.0' encoding = 'UTF-8'?>\n"; $xml .="<root>\n"; $xml .="<code>200</code>\n"; $xml .=&qu

Java读取数据库数据生成柱状图

此案例是用swing显示数据的.需要引入jfreechart相关包,不同版本可能包不相同,本人用的是 此案例在ssi框架下会报错,不用框架就没问题. Java后台逻辑代码: public class BarChart { ChartPanel frame1; public BarChart() { CategoryDataset dataset = getDataSet(); JFreeChart chart = ChartFactory.createBarChart3D("水果",

黑马day17 xstream生成xml数据&amp;json-lib生成json数据

1.XStream工具介绍: 这个工具即这个工具的jar包可以帮我们把JavaBean,集合(List,Set,Map)等生成xml格式的数据 jar包: xstream-1.4.4.jar 这是核心包 xpp3_min-1.1.4c.jar 这是必须依赖的包 只要导入这两个jar包 导入到构建路径中就可以使用了.. 2.json-lib介绍: 这个jar包可以帮我们把JavaBean,集合(List,Set,Map)等生成json格式的数据 jar包: 这是核心包 这是核心包的依赖包 为了方便