使用JavaScript訪問XML資料

2021-04-07 07:53:22 字數 1534 閱讀 6290

在網路瀏覽器軟體中,可以internet explorer (ie)現在是一種標準的軟體。可以看到,執行不同版本的windows作業系統(和很多其他的作業系統)的每一台機器幾乎都使用ie。微軟已經通過activex控制項將ie的功能包含在執行成熟的xml處理技術中。

在本篇文章中,我們將講述如何在ie中使用activex功能來訪問並解析xml文件,由此允許網路衝浪者操縱它們。

網上衝浪

我們以乙個標準的順序文件而開始,如表a所示。這一文件包含簡單的順序資料以提供網路衝浪者瀏覽之用。不僅僅為了顯示這些資料,我們還提供了乙個簡單的使用者介面,網上衝浪都可以使用這一介面來瀏覽xml文件。

表a: order.xml

<?xml version="1.0" ?>

9900234

1234

5.95

100595.00

super widget clamp

6234

22.00

10220.00

mighty foobar flange

9982

2.50

1000

2500.00

deluxe doohickie

3256

389.00

1389.00

muckalucket bucket

1111

3704.00

07/07/2002

8876

我們使用乙個網路表單以訪問這一xml文件,這一表單將顯示sku,**,數量,各部分的小計,以及順序中的每一選項的描述。我們的表單還包含向前和向後瀏覽選項的按鈕。

網頁的構成

網頁的重要部分是在於表單,我們將使用乙個表以易讀的方式在螢幕上顯示。下面是顯示html表的**片段:

請注意到,我們在表的下面包含了兩個按鈕,即通過getdatanext() 和getdataprev()函式來瀏覽前乙個和後乙個的記錄,這也是我們所要討論的問題。

指令碼其實,我們網頁的實質部分不是在於表單,而是在於控制表單的指令碼。在我們的指令碼中包括四個部分。首先,我們通重載入xml文件而初始化網頁。第二部分是導航到下乙個記錄。第三步是導航到前乙個記錄。第四部分是從xml文件中提取單一的值。表b顯示了我們的網頁的全部內容。

表b: jsxml.html

執行這一網頁將傳入並執行指令碼的初始化。你一定確保order.xml文件與jsxml.html在相同的相同的路徑上。

初始化部分將乙個新的activex物件例示為msxml2.domdocument.3.0物件型別,然後指令碼傳入order.xml文件到記憶體中,並選擇所有的/order/item節點。我們使用/order/item節點以識別文件已經包含的選項。

文件中的標準有乙個onload屬性,這一屬性能夠使得網頁呼叫getdatanext()而初始化。這一功能可用於從xml文件中獲得下乙個值並顯示在表單中。我們使用乙個簡單的索引來訪問特定的選項。

向前(>>)和向後(<<)按鈕都使用相同的機制。首先響應onclick事件而呼叫getdatanext() 或者getdataprev(),這兩個函式使用了邏輯方法以避免文件以外的範圍訪問我們的記錄。

使用javascript訪問xml檔案

可以用microsoft.xmldom 物件來處理xml檔案或是xml字串 1.取得xmldom物件 var xmldoc new activexobject microsoft.xmldom var currnode xmldoc.async false xmldoc.load test.xml ...

javascript如何訪問asp控制項

訪問asp控制項的兩種方法 1.getelementbyid 語法 document.getelementbyid id 引數 id 必選項為字串 string 返回值 物件 返回相同id物件中的第乙個,如果無符合條件的物件,則返回 null eg document.getelementbyid i...

JavaScript效能優化 資料訪問

乙個function的作用域模型,一般分為活動物件 區域性變數什麼的 全域性物件 window物件,document 訪問順序是先變數活動物件,後查詢全域性物件。function initui document可以用區域性變數儲存 var doc document var bd doc.body v...