XML檔案原始碼察看器(五)

2021-08-29 03:06:54 字數 1943 閱讀 7714

三、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...