递归生成XML字符串

/**
* 文件名:ZyBOToXML
* 描述:
* 项目名称:               
* 版本:v1.0
* 作者:姜春龙
* 创建日期:20090316
* 修改记录:(修改人)、(修改日期)、(修改内容)、(原因)
*
**/
package com.css.yj.res.util.common;

import java.util.Iterator;
import java.util.List;

import com.css.yj.res.resListManage.model.DmSxlxBO;
import com.css.yj.res.util.model.XzqhVO;

public class XlToXML {
   /**
* <p>
* 功能说明:将下拉属性实体集合转换成XML 要求:列表集合元素必须按照树形结构放置
* </p>
* <p>
* 作者:姜春龙
* </p>
* <p>
* 时间:2009-3-16
* </p>
*
* @param zyxl
*            树list
* @return String
* @throws
*/
public static String getTreeXML(List zyxl, String treeName) {
   StringBuffer buf = new StringBuffer(
     "<?xml version=/"1.0/" encoding=/"UTF-8/"?>");
   buf.append("<navi>");
   buf.append("<navi treeName=/"");
   buf.append(treeName);
   buf.append("/">");
   // 循环树节点,null表示循环第一层
   buf.append(getListToXML(zyxl, null));
   buf.append("</navi>");
   buf.append("</navi>");
   return buf.toString();
}

/**
* <p>
* 功能说明:将下拉属性实体集合转换成XML 要求:列表集合元素必须按照树形结构放置,递归实现
* </p>
* <p>
* 作者:姜春龙
* </p>
* <p>
* 时间:2009-3-16
* </p>
*
* @param zyxl
*            树list,dsBO不为null,叶子节点的递归循环
* @return String
* @throws
*/

private static String getListToXML(List zyxl, DmSxlxBO dsBO) {
   StringBuffer buf = new StringBuffer();
   Iterator zyxl_ite = zyxl.iterator();
   DmSxlxBO bo = null;
   if (dsBO == null) {
    while (zyxl_ite.hasNext()) {
     bo = (DmSxlxBO) zyxl_ite.next();
     if ("".equals(bo.getSjlxbh()) || (bo.getSjlxbh() == null)) {
      buf.append("<navi prikey=/"" + bo.getLxbh()
        + "/" storeid=/"" + bo.getSjlxbh() + "/" title=/""
        + bo.getLxmc() + "/">/n");
      // 执行dsBO不为null的循环
      buf.append(getListToXML(zyxl, bo));
      buf.append("</navi>/n");
     }
    }
   } else {
    while (zyxl_ite.hasNext()) {
     bo = (DmSxlxBO) zyxl_ite.next();
     if (dsBO.getLxbh().equals(bo.getSjlxbh())) {
      buf.append("<navi prikey=/"" + bo.getLxbh()
        + "/" storeid=/"" + bo.getSjlxbh() + "/" title=/""
        + bo.getLxmc() + "/">/n");
      // 递归循环
      buf.append(getListToXML(zyxl, bo));
      buf.append("</navi>/n");
     }
    }
   }
   return buf.toString();
}
/*
* public static void main(String[] args) { List list = new ArrayList();
* DmSxlxBO bo = new DmSxlxBO(); bo.setLxbh("1"); bo.setSjlxbh("");
* bo.setLxmc("1111"); list.add(bo); DmSxlxBO bo1 = new DmSxlxBO();
* bo1.setLxbh("2"); bo1.setSjlxbh("1"); bo1.setLxmc("2222"); list.add(bo1);
* DmSxlxBO bo2 = new DmSxlxBO(); bo2.setLxbh("3"); bo2.setSjlxbh("1");
* bo2.setLxmc("3333"); list.add(bo2); DmSxlxBO bo3 = new DmSxlxBO();
* bo3.setLxbh("4"); bo3.setSjlxbh("2"); bo3.setLxmc("4444"); list.add(bo3);
* DmSxlxBO bo4 = new DmSxlxBO(); bo4.setLxbh("5"); bo4.setSjlxbh("3");
* bo4.setLxmc("5555"); list.add(bo4); DmSxlxBO bo5 = new DmSxlxBO();
* bo5.setLxbh("6"); bo5.setSjlxbh("4"); bo5.setLxmc("66666");
* list.add(bo5); DmSxlxBO bo6 = new DmSxlxBO(); bo6.setLxbh("7");
* bo6.setSjlxbh("5"); bo6.setLxmc("77777"); list.add(bo6); ZyBOToXML zbtXML =
* new ZyBOToXML(); System.out.println(zbtXML.getTreeXML(list)); }
*/
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值