简单无限级树 生成XML代码

原创 2004年08月19日 12:25:00
None.gif????????private?void?makeXml(string?xmlPath)
ExpandedBlockStart.gif????????
{
InBlock.gif????????????
string?sqlStr?=?"SELECT?*?FROM?tree?ORDER?BY?treenode";
InBlock.gif????????????OleDbDataAdapter?da?
=?new?OleDbDataAdapter(sqlStr,?conn);
InBlock.gif????????????DataTable?dt?
=?new?DataTable();
InBlock.gif????????????da.Fill(dt);
InBlock.gif????????????da.Dispose();
InBlock.gif????????????
int?ptreeDepth?=?-1;
InBlock.gif????????????
int?treeDepth?=?0;
InBlock.gif????????????XmlTextWriter?xw?
=?new?XmlTextWriter(xmlPath,?null);
InBlock.gif????????????xw.Formatting?
=?Formatting.Indented;
InBlock.gif????????????xw.IndentChar?
=?' ';
InBlock.gif????????????xw.Indentation?
=?1;
InBlock.gif????????????xw.WriteStartDocument();
InBlock.gif????????????xw.WriteStartElement(
"treeRoot");
InBlock.gif
InBlock.gif????????????
foreach(DataRow?dr?in?dt.Rows)
ExpandedSubBlockStart.gif????????????
{
InBlock.gif????????????????treeDepth?
=?charCount(dr["treenode"].ToString(),?',');
InBlock.gif
InBlock.gif????????????????
if(treeDepth?==?ptreeDepth)
ExpandedSubBlockStart.gif????????????????
{
InBlock.gif????????????????????xw.WriteEndElement();
InBlock.gif????????????????????xw.WriteStartElement(
"treeBranch");
ExpandedSubBlockEnd.gif????????????????}

InBlock.gif????????????????
else?if(treeDepth?==?ptreeDepth?+?1)
ExpandedSubBlockStart.gif????????????????
{
InBlock.gif????????????????????xw.WriteStartElement(
"treeBranch");
ExpandedSubBlockEnd.gif????????????????}

InBlock.gif????????????????
else
ExpandedSubBlockStart.gif????????????????
{
InBlock.gif????????????????????
for(int?i?=?0;?i?<?ptreeDepth?-?treeDepth;?i++)
ExpandedSubBlockStart.gif????????????????????
{
InBlock.gif????????????????????????xw.WriteEndElement();
ExpandedSubBlockEnd.gif????????????????????}

InBlock.gif
InBlock.gif????????????????????xw.WriteEndElement();
InBlock.gif????????????????????xw.WriteStartElement(
"treeBranch");
ExpandedSubBlockEnd.gif????????????????}

InBlock.gif
InBlock.gif????????????????xw.WriteAttributeString(
"treeid",?dr["treeid"].ToString());
InBlock.gif????????????????xw.WriteAttributeString(
"treeNode",?dr["treenode"].ToString());
InBlock.gif????????????????xw.WriteElementString(
"treeTitle",?dr["treetitle"].ToString());
InBlock.gif????????????????ptreeDepth?
=?treeDepth;
ExpandedSubBlockEnd.gif????????????}

InBlock.gif
InBlock.gif????????????
for(int?i?=?0;?i?<?treeDepth;?i++)
ExpandedSubBlockStart.gif????????????
{
InBlock.gif????????????????xw.WriteEndElement();
ExpandedSubBlockEnd.gif????????????}

InBlock.gif
InBlock.gif????????????xw.WriteEndElement();
InBlock.gif????????????xw.WriteEndElement();
InBlock.gif????????????xw.Flush();
InBlock.gif????????????xw.Close();
ExpandedBlockEnd.gif????????}

None.gif
None.gif????????
private?void?lbMakeXml_Click(object?sender,?System.EventArgs?e)
ExpandedBlockStart.gif????????
{
InBlock.gif????????????makeXml(Server.MapPath(
"tree.xml"));
ExpandedBlockEnd.gif????????}

利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)

利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)                                                   转载地址:...
  • u010880345
  • u010880345
  • 2015年12月08日 14:02
  • 1804

穿线树实现无限级分类

分类,分组在Web应用中到处可见,理想的原型设计,总是会遇到各种各样的新的更新需求,而来自客户的需求变更(客户简单的一句加一个下级分类),可能导致的是项目重大重构。为什么我们不从一开始就把分类做成树形...
  • Joph_csu
  • Joph_csu
  • 2017年01月07日 21:39
  • 686

用golang递归构建无限级树状目录json数据和数据库

package main import ( "encoding/json" "fmt" "os" "path/filepath" "sort" ) func main() { root...
  • hotqin888
  • hotqin888
  • 2016年11月13日 19:10
  • 1572

使用Jquery+bootstrap无限级菜单树

无限级菜单树的实现效果从数据库提取出来的原始数据前台代码需要的数据{ "code": 100, "extend": { "children": [ ...
  • EnTaroAdunZ
  • EnTaroAdunZ
  • 2017年08月10日 00:43
  • 727

基于jsTree的无限级树JSON数据的转换

jstree 主页 : http://www.jstree.com/ 其中提供了一种从后台取数据渲染成树的形式: $("#mytree").tree({ data : { ...
  • supercrsky
  • supercrsky
  • 2013年01月30日 11:56
  • 94600

php递归实现无限级分类树(牛逼)

转载路径:http://www.php.cn/php-weizijiaocheng-353267.html 无限级树状图可以说是无限级栏目的一个显著特征,我们接下来就来看看两种不同的写法。 ...
  • qq_29058883
  • qq_29058883
  • 2017年12月07日 15:44
  • 134

关于无限级理解,及其树形结构

首先在表中含有parent_id字段 树级菜单的顶层parent_id=0 那么如何根据顶层菜单查找它所属的子级菜单呢? 思路如下 : 首先找到parent_id=0的记录(可以有多条,意味的...
  • qq_30259339
  • qq_30259339
  • 2016年04月03日 11:29
  • 1294

dTree无限级目录树和JQuery同步ajax请求

以前都是用JQuery对树的支持来实现目录树的,近来闲来无事就弄了下dTree,感觉其无限级目录还是挺好的,而且它的使用也比较方便,基本上就是先把要用的js文件即dtree.js和css文件dtree...
  • zylzb
  • zylzb
  • 2014年10月27日 17:26
  • 965

PHP实现无限级分类

$arr=array( array('id'=>'1','name'=>'北京','parent'=>'0'),array('id'=>'2','name'=>'上海','parent'=>'0'),...
  • zpf_nevergiveup
  • zpf_nevergiveup
  • 2016年07月01日 16:27
  • 487

运用无限级分类管理数据库原理详解

在做网站开发的过程中需要运用无限极分类管理数据库中的数据。但是无限级分类的原理是什么呢?总结一下吧。 无限极分类就是子节点是父节点分叉产生的。...
  • SchopenhauerZhang
  • SchopenhauerZhang
  • 2017年03月27日 16:59
  • 373
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简单无限级树 生成XML代码
举报原因:
原因补充:

(最多只允许输入30个字)