国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用DOM完成XML數據提取示例

2013-04-29 00:22:44侯春英
無線互聯科技 2013年9期

侯春英

摘 要:XML因其靈活性、適用性及跨平臺性成為信息存儲和處理的首選方式。XML文檔是一種純文本文件,其存取方式是XML應用過程中的一個關鍵問題。本文從實際應用角度出發(fā)介紹一種用文檔對象模型(DOM)對XML數據進行提取操作的實現過程。

關鍵詞:XML;DOM;數據提取

隨著網絡技術的不斷發(fā)展,網絡數據的存儲和提取方式也就成為一個被關注的問題。在許多異構數據庫、多服務器和數據存儲系統(tǒng)、復雜文件和相對不定結構文件的數據存儲中,XML還是倍受青睞。因為以XML存儲的方式可以方便地實現平臺轉換,同時XML也是數據庫之間傳送數據的首選方法。另外,在數據結構相對不固定的情況下,XML更成為數據存儲的理想方式。

獲取XML數據的方法有多種,但在大多數據情況下,以DOM(Document Object Model)即文檔對象模型來處理XML文件是非常可取的。一般情況下,用DOM對XML文檔進行處理過程包括以下幾個步驟:

1 創(chuàng)建DOM實例

創(chuàng)建一個DOM實例通??梢圆捎孟率龇椒ǎ?/p>

set [object]=server.createobject(“Microsoft.XMLDOM”)

2 將已建好的XML文檔加載進來

(1)在加載XML文檔時要設置async屬性為False,這樣當文檔加載完畢,控制權才會返回給調用進程。

(2)加載一個XML文檔可以采用下述方法:

[object].load(“文檔”)

說明:如XML文檔來自于Internet,則其XML文檔標識符形式就為http://url。其中:url為要載入XML文檔的絕對地址。

3 創(chuàng)建XML文檔的元素結點清單

因為所創(chuàng)建XML文檔的元素結點清單要保存起來以備使用,所以要先定義一個變量,然后用DOM的getElementsBYTagName()方法創(chuàng)建所加載的XML文檔元素的清單,并保存在所定義的變量中:

DIM [Vn]

Set [Vn]= getElementsBYTagName(“元素”)

注:[Vn] 是自己定義的變量;“元素”是指所加載的XML文件的實體元素名稱。

4 用循環(huán)過程實現對XML文檔的遍歷及數據的提取

在對XML文檔進行遍歷時,可采用以下的結構方式:

for I=0 TO [Vn].length-1

if <條件> then

for J=0 TO m

response.write [Vn].item(i).childnodes(J).text

next

end if

next

下面來看一下完整的程序:

find.htm文件內容如下:

查詢信息輸入

請輸入查詢信息

姓 名:

Find.asp文件內容如下:

<%

dim oXLMDOM

dim recordlist

set oXLMDOM=Server.CreateObject("Microsoft.XMLDOM")

oXLMDOM.async = False

oXLMDOM.load server.mappath("finddata.xml")

set recordlist=oXLMDOM.getElementsByTagNAME("個人資料")

dim bz

bz=0

for i=0 to recordlist.length-1

if recordlist.item(i).firstchild.firstchild.nodevalue=request.form("姓名") then

for j=0 to 5

response.write recordlist.item(i).childnodes(j).text%>

<% next

bz=1

end if

next

if bz=0 then

response.write "對不起,無此人信息!"

end if

%>

說明:此程序中BZ為一個標志變量,其它均如前所述。

finddata.xml文件內容如下:

<?xml version="1.0" encoding="gb2312"?>

<學生資料表>

<個人資料>

<姓名>王小龍姓名

<性別>女性別

<文化程度>高中文化程度

<喜愛顏色>紅色喜愛顏色

<學習目標>高級學習目標

<登錄口令>hcy001登錄口令

個人資料

學生資料表

此程序中存儲著多條個人資料信息,本處只用一條示例。

說明:本程序已在IE瀏覽器上運行通過。運行時可將上述三個文件放在同一個WWW目錄下。

丹阳市| 纳雍县| 锡林浩特市| 龙川县| 伊金霍洛旗| 连南| 澄江县| 常州市| 昭苏县| 建昌县| 天台县| 阿坝县| 鹤岗市| 麻城市| 华亭县| 高邑县| 饶阳县| 冀州市| 伊吾县| 普格县| 台南市| 江城| 温泉县| 府谷县| 周口市| 新安县| 平定县| 砚山县| 永德县| 砀山县| 淳化县| 铜陵市| 永昌县| 勃利县| 治多县| 棋牌| 松阳县| 瑞金市| 商河县| 盖州市| 临沭县|