当前位置: 首页 > 图文教程 > 脚本技术 > Hta > hta实现的笨狼树状节点查看器

Hta
hta查看磁盘空间的脚本
HTA编辑HOST文件的脚本
hta实现的定时重启或关闭计算机的小工具
hta实现的二进制文件转换为文本
风讯注入exp(hta版)代码发布
学习正则帮手笨狼正则练习器
hta实现的笨狼XSLT练习器
hta实现的笨狼树状节点查看器
hta作品笨狼CSDN爬虫
hta(vbs)列目录树代码
适用于hta的Sleep函数
hta 定时关机重启实现代码
从 HTA 中启动应用程序
ASP 辅助工具(hta版)
hta编写的软件管理工具0.1(IE7.0测试通过)
exe转换16进制的html保存的hta实现代码
VBS脚本的GUI界面 HTA简明教程(网络搜集整理)
winXP下用VBS写的代码编辑器
扣代码工具 hta版
用hta实现的桌面漂浮flash

Hta 中的 hta实现的笨狼树状节点查看器


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 75 ::
收藏到网摘: n/a

笨狼树状节点查看器 <html>
<head>
<style>
table
{
border-collapse: collapse;
border-width: 4;
border-style: double;
border-color:#15336F;
font-size:12px;
}
body
{
font-size:12px;
}
div
{
width:100%;
height:9;
border-style:solid;
border-width:1;
border-color:#eeeeee;
vertical-align:top;
font-size:12;
cursor:hand;
}
</style>
<title>笨狼树状节点查看器</title>
</head>
<body>
<INPUT type="file" id=file1 name=file1>请输入xml文件路径
<INPUT type="button" value="确定" onclick = "vbs:analyse ">
<SELECT id="select1" onchange="vbs:analyse">
<OPTION value="nodeName" >显示标签</OPTION>
<OPTION value="text" >显示文字</OPTION>
<OPTION value="attribute" >显示属性</OPTION>
<OPTION value="XPath" >显示XPath</OPTION>
</SELECT>
<DIV id="oList" style="padding-left:0"></DIV>
</body>
<script language="vbScript" >
'**************************************
'****作者: 超级大笨狼 superdullwolf****
'**************************************
public dic,favour,anything ,doc
set doc = CreateObject("Microsoft.XMLDOM")
doc.async=False
sub analyse()
dim myTR
favour = select1.value
removeDIV
if not doc.load(file1.value) then
alert "文件加载失败,请检查文件是否存在!"
else
Set rootNode = doc.DocumentElement
set rootDIV = document.createElement("DIV")
rootDIV.setAttribute "XPath",rootNode.nodeName
oList.setAttribute "XPath",rootNode.nodeName
oList.setAttribute "parsed",false
appendDIV oList,rootNode
end if
end sub
sub appendDIV(myDIV,myNode)
dim myChild ,newDIV,ChildID,thisID ,ChildXPath

for each myChild in myNode.childNodes
if myChild.nodeName <> "#text" then
set newDIV = document.createElement("DIV")
myDIV.appendChild newDIV
addPx newDIV, myDIV,10 '缩进10象素
ChildID = 0
ChildXPath = myDIV.getAttribute("XPath") & "/" & myChild.nodeName & "[" & ChildID & "]"
do while not doc.selectSingleNode(ChildXPath) is myChild
ChildID=ChildID+1
ChildXPath = myDIV.getAttribute("XPath") & "/" & myChild.nodeName & "[" & ChildID & "]"
loop
newDIV.setAttribute "XPath",ChildXPath
newDIV.setAttribute "parsed",false '子元素还没标记过了。
newDIV.title = newDIV.getAttribute("XPath")
newDIV.innerText = getText(myChild,newDIV)
if myChild.childNodes.length>0 then
newDIV.attachEvent "onclick",GetRef("attachOnclick")
end if
end if
next
myDIV.setAttribute "parsed",true'所有子元素都标记过了。
end sub


sub removeDIV()
dim oldDIV
for each oldDIV in oList.childNodes
oldDIV.removeNode(true)
next
end sub
sub attachOnclick()
dim obj ,nodeXPath,cDIV
set obj=window.event.srcElement
nodeXPath = obj.getAttribute("XPath")
if instr(nodeXPath,"#text") >0 then
window.event.cancelBubble = true
exit sub
end if
if not obj.getAttribute("parsed")= true then
appendDIV obj ,doc.selectSingleNode(nodeXPath)
else
for each cDIV in obj.children
if cDIV.style.display = "none" then
cDIV.style.display = ""
else
cDIV.style.display = "none"
end if
next
end if
window.event.cancelBubble = true
end sub
function getText(myNode,oDIV)
dim myAttribute
getText = ""
select case favour
case "text"
if not isnull(myNode.text) then
getText = myNode.text
else
getText = "空文字"
end if
case "nodeName"
getText = myNode.nodeName
case "attribute"
if myNode.nodeName <>"#text" then
for each myAttribute in myNode.attributes
getText =getText & myAttribute.name
getText = getText & "=" & chr(34)
getText = getText & myAttribute.value & chr(34) & " "
next
getText = trim(getText)
end if

case "XPath"
getText = oDIV.title
end select
if trim(getText) ="" then getText ="空"
end function
sub addPx(newDIV,oldDIV,num)
dim re,myString
set re = new RegExp
re.Global = true
re.Pattern = "[^\d]*"
myString = re.Replace(oldDIV.style.paddingLeft, "")
if myString ="" then myString = "0"
myString = (cint(myString) + num ) & "px"
newDIV.style.paddingLeft = myString
set re = nothing
end sub
</script>
</html>
XMLTool.hta