三、asp版源**<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
<%
dim strf
strf
= request
("file"
)dim strresult
strfilepath
= server.(
strf
)'dim domxmldataas new msxml2.freethreadeddomdocument
dim domxmldata
set domxmldata = server.createobject("microsoft.xmldom")'
as new
msxml2
.domdocument
if strfilepath
=""
then
txtdata
.innerhtml
=strfilepath
+"
選擇需要察看的
xml檔案
. :)
" else
domxmldata
.load
(strfilepath
)if (
domxmldata
.parseerror
.errorcode
<> 0)
then
strresult
="invalid xml file:"
& domxmldata
.parseerror
.reason & "
"else
'遞迴遍歷不同型別子節點,加上高亮標記()
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) & ""& nodnode.text & "
"case 7: '
指令節點
,呼叫子函式
strnodes
=strnodes
& renderinstruction
(nodnode
,intlevel
)case 8:
'注釋節點
,呼叫子節點
strnodes=strnodes & rendercomment(nodnode,intlevel)
XML檔案原始碼察看器(三)
switch nodnode nodetype break default 普通節點 strnodes getindent intlevel 藍色 strnodes nodnode nodename 褐色node name 顯示 屬性nodattrlist nodnode attributes 得到...
《STL原始碼剖析》 空間配置器(五)
一 記憶體基本處理工具 stl定義有五個全域性函式,作用於未初始化空間上。前兩個函式是用於構造的 construct 和用於析構的 destroy 另三個函式 uninitialized copy uninitialized fill uninitialized fill n 分別對應於高層次函式 ...
Spring原始碼之XML解析
資料準備階段 準備的目的是封裝 resource引數,目的是為了考慮到 resource可能存在編碼要求的情況,其次,通過 sax讀取 xml檔案的方式來準備 inputsource物件,最後將引數傳遞到 最核心的實現部分 doloadbeandefinitions inputsource,enco...