XML數據源對象是一個ActiveX控件,允許你在XML文件和Html頁面之間操作數據。本文將向你展示如何從各種XML數據源中提取數據,以及如何使用JavaScript顯示這些數據。
XML數據源對象DSO是一個微軟ActiveX控件,構建在微軟IE4以後的版本上。這個對象允許你把一個外部的XML文件或者嵌入HTML文件中的內容提取到Html頁面中。
你可以在一個Web頁面中使用XML - DSO從一個外部XML文件中選取內容,從嵌入Web頁面的XML中提取XML數據,然後使用JavaScript操作這些數據。然而,並不建議在Internet中使用這個對象,因為DSO只能工作在MSIE 4以上的浏覽器中,因此這可能會帶來一些兼容性問題。 所以,在企業內部網使用XML-DSO是很合適的。
開始
為了初始化XML - DSO對象,我們使用<OBJECT>標記。 用於XML-DSO的CLASSID是:
CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39
這ID唯一標識XML-DSO。使用下面的代碼在一個Web頁面中初始化這個控件:
<OBJECT ID="SomeID" CLASSID="CLSID:550dda30-0541-11d2-9ca9-0060b0ec3d39"></OBJECT>
雖然大部分對象需要許多參數與之相關聯,但是XML-DSO不需要任何參數。
使用一個XML數據島析取數據
首先,通過使用<XML>標記包含一個XML數據島。其次,給它分配一個ID,XMLdb --以備以後使用。 數據實際上是使用Html標記:<ALT>,<SPAN>,<DIV>等等提取的。代碼列表1中的代碼使用了<SPAN>標記。datasrc屬性指定了你想從中提取數據的那個數據島。datafld屬性指定了你想要的數據的XML標記。所以,第一個<SPAN>提取名稱,而第二<SPAN>提取性別。
代碼列表1:
<!-- example1.htm -->
<xml id="XMLdb">
<db>
<member>
<name>Premshree Pillai<name>
<sex>male</sex>
</member>
<member>
<name>Vinod</name>
<sex>male</sex>
</member>
</db>
</XML>
<table datasrc="#XMLdb" border="1">
<thead>
<th>Name</th>
<th>Sex</th>
</thead>
<tr>
<td><div datafld="name"></div></td>
<td><div datafld="sex"></div></td>
</tr>
</table>
</body>
</Html>