您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么使用 JavaScript XSLT 處理 XML 文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用 JavaScript XSLT 處理 XML 文件”吧!
最近使用Firefox進行網頁的調試,發現有些Javascript XSLT處理XML的語句僅僅支持IE瀏覽器。網絡中的一些介紹javascript XSLT 處理XML的文章基本上都是依據AJAX來做的。
寫了一個Javascript XSLT處理XML展現頁面的小功能。現在帖出來和大家共享,希望大家給點改進意見。
在Firefox中使用XSLTProcessor對象處理XML,主要使用該對象的兩個方法:
一、transformToFragment()。
二、transformToDocument()。
下面的代碼僅僅使用transformToFragment()方法來實現對XML文件處理,如果你對在Firefox中使用 Javascript XSLT 處理XML文件感興趣的話不妨試著將以下代碼改寫成使用transformToDocument()方法來實現的處理功能。
Javascript 代碼如下:
function initialize() { var xmlDoc; var xslDoc; // 判斷瀏覽器的類型 if(document.implementation && document.implementation.createDocument) { // 支持Mozilla瀏覽器 try { xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.async = false; xmlDoc.load("guestbook/guestbook.xml"); } catch(e) { alert("error:001"); } try { xslDoc = document.implementation.createDocument("", "", null); xslDoc.async = false; xslDoc.load("guestbook/guestbook.xsl"); } catch(e) { alert("error:002"); } try { // 定義XSLTProcessor對象 var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslDoc); var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document); // 將解析過的文本輸出到頁面 var oDiv = document.getElementById("guestbookPanel"); oDiv.appendChild(oResultFragment); } catch(e) { alert("error:003"); } } else if(typeof window.ActiveXObject != 'undefined') { //var xmlDoc=Server.CreateObject("Msxml2.DOMDocument.4.0"); // 支持IE瀏覽器 xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); xslDoc = new ActiveXObject('Microsoft.XMLDOM'); xmlDoc.async = false; xslDoc.async = false; xmlDoc.load("guestbook/guestbook.xml"); xslDoc.load("guestbook/guestbook.xsl"); guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc); } else { alert("Browser unknown!"); } }
javascript dom 處理XSL顯示數據的第二種方式,主要代碼如下:
var xmlDoc; var xslDoc; // 判斷瀏覽器的類型 if(document.implementation && document.implementation.createDocument) { // 支持Mozilla瀏覽器 try { xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.async = false; xmlDoc.load("guestbook/guestbook.xml"); xslDoc = document.implementation.createDocument("", "", null); xslDoc.async = false; xslDoc.load("guestbook/guestbook.xsl"); // 定義XSLTProcessor對象 var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslDoc); // transformToDocument方式 var result = xsltProcessor.transformToDocument(xmlDoc); var xmls = new XMLSerializer(); document.getElementById("guestbookPanel").innerHTML = xmls.serializeToString(result); } catch(e) { alert("Unable to do xml/xsl processing"); } } else if(typeof window.ActiveXObject != 'undefined') { try { // 支持IE瀏覽器 xmlDoc = new ActiveXObject('Msxml2.DOMDocument'); xslDoc = new ActiveXObject('Msxml2.DOMDocument'); xmlDoc.async = false; xslDoc.async = false; xmlDoc.load("guestbook/guestbook.xml"); xslDoc.load("guestbook/guestbook.xsl"); guestbookPanel.innerHTML = xmlDoc.documentElement.transformNode(xslDoc); } catch(e) { alert("Unable to do xml/xsl processing"); } } else { alert("Browser unknown!"); }
感謝各位的閱讀,以上就是“怎么使用 JavaScript XSLT 處理 XML 文件”的內容了,經過本文的學習后,相信大家對怎么使用 JavaScript XSLT 處理 XML 文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。