DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 建立MS XML 測試環境
建立MS XML 測試環境
編輯:XML詳解     
一般的Windows環境(Windows 98 SE以上版本)都有一個MSXML環境,以下的ASP代碼可以運行,但不一定工作,不工作可能是由於樣式單是http://www.w3.org/1999/XSL/Transform的,而最初環境只支持http://www.w3.org/TR/WD-xsl,所以可能什麼也不出來。
<%@ LANGUAGE = JScript %>
<%
// Set the source and style sheet locations here
var sourceFile = Server.MapPath("test.XML");
var styleFile = Server.MapPath("test.xsl");

// Load the XML
var source = Server.CreateObject("Microsoft.XMLDOM");
source.async = false;
source.load(sourceFile);
// Load the XSL
var style = Server.CreateObject("Microsoft.XMLDOM");
style.async = false;
style.load(styleFile);
Response.Write(source.transformNode(style));
%>


一般以MSXML為開發環境的都要建立安裝新的解析器,如MSXML 3或者MSXML 4 Technology PrevIEw,
在以replace方式裝了MSXML 3後,我們可以使用以下的代碼


<%@ LANGUAGE = JScript %>
<%
// Set the source and style sheet locations here
var sourceFile = Server.MapPath("test.XML");
var styleFile = Server.MapPath("test.xsl");


// Load the XML
var source = Server.CreateObject("MsXML2.DOMDocument");
source.async = false;
source.load(sourceFile);
// Load the XSL
var style = Server.CreateObject("MsXML2.DOMDocument");
style.async = false;
style.load(styleFile);
Response.Write(source.transformNode(style));
%>
這樣我們獲得了MSXML 3的開發環境,但如果我們不想破壞原來的環境,又要測試我們基於MSXML 3的例子呢,雖然用replace方式安裝提供了向後兼容方式來支持XSL元素,函數和XSL命名空間。
其實使用版本無關progIDs(version-dependent progIDs)來創建對象實例可以更好的完成工作,我們不需要用replace方式安裝,用side-by-side方式即可,我們看下面的代碼:


<%@ LANGUAGE = JScript %>
<%
// Set the source and style sheet locations here
var sourceFile = Server.MapPath("test.XML");
var styleFile = Server.MapPath("test.xsl");


// Load the XML
var source = Server.CreateObject("MsXML2.DOMDocument.3.0");
source.async = false;
source.load(sourceFile);
// Load the XSL
var style = Server.CreateObject("MsXML2.DOMDocument.3.0");
style.async = false;
style.load(styleFile);
Response.Write(source.transformNode(style));
%>
  只需要在Msxml2.DOMDocument後面加上版本號3.0,即可使用MSXML 3的東東了,MSXML 4呢,依次類推。
在客戶端的環境也是一樣的,用JS創建DOM對象是一樣的。
function test(){
var xmlDoc = new ActiveXObject("MsXML2.DOMDocument.3.0");
var currNode;
XMLDoc.async = false;
xmlDoc.load("test.XML");
currNode = XMLDoc.documentElement.firstChild;
alert(currNode.XML);
}
  最後,XSLT樣式單side-by-side方式下在Internet EXPlorer 5.0及以後版本不支持。如果你要使用IE 5來打開XSLT樣式單,需要用replace方式安裝。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved