XML文件源码察看器(二)

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

==================================================

<!--


刘海龙,stan


[email]xiaoleilong@mail.biti.edu.cn[/email]


<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><chsdate w:st="on" isrocdate="False" islunardate="False" day="9" month="5" year="2003"><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #0000bb; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">2003</span><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #007700; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">-</span><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #0000bb; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">5</span><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #007700; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">-</span><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #0000bb; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">9</span></chsdate>整理


-->


<HTML>


<HEAD>


<TITLE>XML Src Viewer</TITLE>


<STYLE TYPE="text/css">


BODY {font-family:Tahoma,Arial,sans-serif; font-size:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="10" unitname="pt"><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #0000bb; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">10pt</span></chmetcnv>}


.heading {font-family:Tahoma,Arial,sans-serif; font-size:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="14" unitname="pt"><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #0000bb; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">14pt</span></chmetcnv>; font-weight:bold}


.cite {font-family:Tahoma,Arial,sans-serif; font-size:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8" unitname="pt"><span lang="EN-US" style="FONT-SIZE: 9.5pt; COLOR: #0000bb; FONT-FAMILY: Verdana; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt; mso-bidi-font-family: 宋体">8pt</span></chmetcnv>}


</STYLE>


</HEAD>


<BODY BGCOLOR="#FFFFFF" onload="parseXML()">


<SPAN CLASS="heading">XML 源码察看器 </SPAN><br>


<form name="form1" enctype="multipart/form-data" method="post" action="">


<input name="file" type="file" onChange="parseXML()" value="test.xml">


</form>


<HR>


<!--------------------------------------------------------------------------->


<SPAN ID="txtData"></SPAN>


<SCRIPT LANGUAGE="JScript">





function parseXML()


{


var domXMLData=new ActiveXObject("MSXML2.FreeThreadedDOMDocument");


var strFilePath;


strFilePath = document.form1.file.value;


if(strFilePath=="")


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


else


{


domXMLData.load(strFilePath);


if (domXMLData.parseError.errorCode != 0)


{


txtData.innerHTML='<p><font color=/"red/"><b>Invalid XML file:</b></font> ' + domXMLData.parseError.reason+"</p>";


return;


}


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


txtData.innerHTML = renderChildNodes(domXMLData, 0);


}


}





var g_strNodeTypes = new Array('', 'ELEMENT (1)', 'ATTRIBUTE (2)','TEXT (3)', 'CDATA SECTION (4)', 'ENTITY REFERENCE (5)','ENTITY (6)', 'PROCESSING INSTRUCTION (7)', 'COMMENT (8)','DOCUMENT (9)', 'DOCUMENT TYPE (10)', 'DOCUMENT FRAGMENT (11)','NOTATION (12)');





//函数名:renderChildNodes


//参数:nodNode -- xml 节点


// intLevel -- 层数,用于缩进


function renderChildNodes(nodNode, intLevel)


{


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


var intCount = 0; //循环遍历用的临时变量


var intNode = 0; //循环遍历用的临时变量


var nodAttrList; //属性集




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值