使用JavaScript訪問XML資料

來源:互聯網
上載者:User

在網路瀏覽器軟體中,可以Internet Explorer (IE)現在是一種標準的軟體。可以看到,運行不同版本的Windows作業系統(和很多其他的作業系統)的每一台機器幾乎都使用IE。微軟已經通過ActiveX控制項將IE的功能包含在執行成熟的XML處理技術中。在本篇文章中,我們將講述如何在IE中使用ActiveX功能來訪問並解析XML文檔,由此允許IE操縱它們。

我們以一個標準的順序文檔而開始,如表A所示。這一文檔包含簡單的順序資料以提供IE瀏覽之用。不僅僅為了顯示這些資料,我們還

提供了一個簡單的使用者介面,IE都可以使用這一介面來瀏覽XML文檔。

表A: order.xml


9900234

1234
5.95
100
595.00
Super Widget Clamp


6234
22.00
10
220.00
Mighty Foobar Flange


9982
2.50
1000
2500.00
Deluxe Doohickie


3256
389.00
1
389.00
Muckalucket Bucket

1111
3704.00
07/07/2002
8876

我們使用一個網路表單以訪問這一XML文檔,這一表單將顯示SKU,價格,數量,各部分的小計,以及順序中的每一選項的描述。我們的表單還

包含向前和向後瀏覽選項的按鈕。

網頁的構成
網頁的重要部分是在於表單,我們將使用一個表以易讀的方式在螢幕上顯示。下面是顯示HTML表的程式碼片段:

請注意到,我們在表的下麵包含了兩個按鈕,即通過getDataNext() 和getDataPrev()函數來瀏覽前一個和後一個的記錄,這也是我們所要討論

的問題。

指令碼
其實,我們網頁的實質部分不是在於表單,而是在於控製表單的指令碼。在我們的指令碼中包括四個部分。首先,我們通過載入XML文檔而初始化網

頁。第二部分是導航到下一個記錄。第三步是導航到前一個記錄。第四部分是從XML文檔中提取單一的值。表B顯示了我們的網頁的全部內容。

表B: jsxml.html






XML Order Database
 


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

初始化部分將一個新的ActiveX對象例示為MSXML2.DOMDocument.3.0物件類型,然後指令碼傳入order.xml文檔到記憶體中,並選擇所有

的/Order/Item節點。我們使用/Order/Item節點以識別文檔已經包含的選項。

文檔中的標準有一個onLoad屬性,這一屬效能夠使得網頁調用getDataNext()而初始化。這一功能可用於從XML文檔中獲得下一個值並顯

示在表單中。我們使用一個簡單的索引來訪問特定的選項。

向前(>>)和向後(<<)按鈕都使用相同的機制。首先響應onClick事件而調用getDataNext() 或者getDataPrev(),這兩個函數使用了邏輯方法以

避免文檔以外的範圍訪問我們的記錄。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.