用vbs实现xml的树转二叉树

原创 2005年05月17日 12:37:00

思想来自于,二叉树的链表,因为vbs里没有,所以用dictionary去模拟的,每个dictionary都有一个

leftnode和一个rightnode,这样就可以很好的把xml的值放到里边了,并用了递归的方法 

代码如下:

<script language='vbscript'>
set objxml=createobject("msxml2.DOMDocument")
objxml.load "c:/bloginfo.xml"
objxml.async=false
set xmlroot=objxml.documentElement
set dicadd=createobject("scripting.dictionary")
dicadd.add "leftnode",recursion(xmlroot)
function recursion(theelement)
  if theelement.childnodes(0).childnodes.length<>0 then
   if theelement.nodename<>"#text" then
       set dicxml_0=createobject("scripting.dictionary")
       for i=0 to theelement.childnodes.length-1
            set info=createobject("scripting.dictionary")
     info.add "nodename",theelement.childnodes(i).text
           if not (i+1)>theelement.childnodes.length-1 then
          str="set dicxml_" & i+1 & "=createobject(" & """" & "scripting.dictionary" & """" & ")"
      execute(str)
      set xmldom=theelement.childnodes(i)
      str="dicxml_" & i & ".add " & """" & "leftnode" & """" & ",recursion(xmldom)"
      execute(str)
      str="dicxml_" & i & ".add " & """" & "rightnode" & """" & ",dicxml_" & i+1
      execute(str)
      str="dicxml_" & i & ".add " & """" & "info" & """" & ",info"
      execute(str)     
    else
            str="dicxml_" & i & ".add " & """" & "rightnode" & """" & "," & """" & "null" & """"
     execute(str)
     str="dicxml_" & i & ".add " & """" & "leftnode" & """" & "," & """" & theelement.text & """"
     execute(str)
   end if
    set info=nothing
       next
       set recursion=dicxml_0
      else
           recursion=theelement.text
      end if
    else
       recursion=null
    end if
end function
</script>

用递归方法建立二叉树

假设二叉树为:                                         a                               b                 c ...
  • stpeace
  • stpeace
  • 2012年11月01日 20:20
  • 54593

二叉树的定义和实现

二叉树,c,数据结构,二叉树的操作
  • wj903829182
  • wj903829182
  • 2014年07月17日 17:26
  • 4535

二叉树常见算法总结-基本二叉树

二叉树是最经典的数据结构之一,其结构类型和算法操作也是十分多,今天来做一个总结(今天先不讨论对B树,红黑树那种比较高级的数据结构)。 树结构,一般用节点引用两个子节点作为左右节点。结构代码如...
  • a497006686
  • a497006686
  • 2016年08月29日 16:08
  • 793

关于二叉树的常见题型

一、二叉树相关概念 1.1 基本术语 结点的度:一个结点的子结点的个数称为结点的度。树的度:树中结点的最大度数为树的度树的深度(高度):树中结点的最大层数,从1开始。 1.2 二叉树分类 满...
  • u010796790
  • u010796790
  • 2016年07月16日 20:41
  • 1462

XML数据解析

这是一篇关于XML解析的详细的Demo 里面是一些XML解析相关的方法 分两部分: 1.SAX系统解析 详细的model构建 以及解析过程 协议方法 2.Dom三方解析 两个重要的概念 ONO...
  • ZhangDreamK
  • ZhangDreamK
  • 2016年03月22日 17:55
  • 376

用vbs实现xml的树转二叉树

思想来自于,二叉树的链表,因为vbs里没有,所以用dictionary去模拟的,每个dictionary都有一个leftnode和一个rightnode,这样就可以很好的把xml的值放到里边了,并用了...
  • liuxiaoyi666
  • liuxiaoyi666
  • 2005年05月17日 12:37
  • 2519

二叉树

开始二叉树
  • bassqmyd
  • bassqmyd
  • 2017年10月09日 17:26
  • 61

将普通树转为二叉树

普通树转化为二叉树! 普通树转化为二叉树! 普通树转化为二叉树! 重要的事情说三遍(雾)   最近在刷树形dp的题,而树形dp的某些特殊题目多依靠二叉树的结构写出状态转移方程,所以专门看看不得不说说的...
  • jpwang8
  • jpwang8
  • 2016年05月12日 21:10
  • 1079

普通树转换成二叉树

普通树转换为二叉树的方法是: ①树中所有相同双亲结点的兄弟节点之间加一条连线 ②对树中不是双亲结点第一个孩子的结点,只保留新添加的该结点与左兄弟结点之间的连线,删去该结点与双亲结点之间的连线 ③...
  • Dean_Deng
  • Dean_Deng
  • 2015年03月22日 20:15
  • 13205

XML

XML:面试题:请解释HTML与XML的区别 HTML可以更加方便的 数据的显示处理操作; XML更多的是进行数据结构的描述,主要的功能是数据交互的使用。 如果xml文件上增加了css样式,那么就不会...
  • lyflyyvip
  • lyflyyvip
  • 2016年10月10日 21:01
  • 140
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用vbs实现xml的树转二叉树
举报原因:
原因补充:

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