铁雪资源网 Design By www.gsvan.com
<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>
hta实现的笨狼树状节点查看器XMLTool.hta
标签:
hta,树状节点查看器

铁雪资源网 Design By www.gsvan.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
铁雪资源网 Design By www.gsvan.com

评论“hta实现的笨狼树状节点查看器”

暂无hta实现的笨狼树状节点查看器的评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。