XML文件源码察看器(五)

博客展示了ASP版查看XML文件的源代码。代码通过接收请求的文件路径,使用Microsoft.XMLDOM加载文件,若文件路径为空提示选择文件,若文件解析出错给出错误信息,还包含递归遍历不同类型子节点并添加高亮标记的函数。

三、ASP版源代码<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

<%


dim strf


strf = request("file")


dim strResult


strFilePath = Server.MapPath(strf)




'dim domXMLDataAs New Msxml2.FreeThreadedDOMDocument


dim domXMLData


set domXMLData = Server.CreateObject("Microsoft.XMLDOM")'As New Msxml2.DOMDocument




if strFilePath="" then


txtData.innerHTML=strFilePath+"<p><font color=""red""><b>请浏览选择需要察看的xml文件. :)</b></font> </p>"


else


domXMLData.load(strFilePath)


if (domXMLData.parseError.errorCode <> 0) then


strResult ="<p><font color=""red""><b>Invalid XML file:</b></font> " & domXMLData.parseError.reason & "</p>"


else


'递归遍历不同类型子节点,加上高亮标记 <font color=#> </font>


strResult = renderChildNodes(domXMLData, 0)


end if


end if




'函数名:renderChildNodes


'参数:nodNode -- xml 节点


'intLevel -- 层数,用于缩进


function renderChildNodes(nodNode, intLevel)




dim strNodes,intCount,intNode


strNodes = "" '用于显示的 html 字符串,处理的结果


intCount = 0'循环遍历用的临时变量


intNode = 0'循环遍历用的临时变量


dim nodAttrList'属性集




dim intNodeType


intNodeType = nodNode.nodeType


select case intnodeType



case 3: '文本节点, 黑色 粗体显示


strNodes=strNodes & getIndent(intLevel) & "<b>"& nodNode.text & "</b><br>"



case 7: '指令节点 调用子函数


strNodes=strNodes & renderInstruction(nodNode,intLevel)



case 8: '注释节点 调用子节点


strNodes=strNodes & renderComment(nodNode,intLevel)


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值