這篇文章主要講解了“怎么使用 JavaScript XSLT 處理 XML 文件”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“怎么使用 JavaScript XSLT 處理 XML 文件”吧!
在蘆山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站建設(shè),蘆山網(wǎng)站建設(shè)費(fèi)用合理。
最近使用Firefox進(jìn)行網(wǎng)頁(yè)的調(diào)試,發(fā)現(xiàn)有些Javascript XSLT處理XML的語(yǔ)句僅僅支持IE瀏覽器。網(wǎng)絡(luò)中的一些介紹javascript XSLT 處理XML的文章基本上都是依據(jù)AJAX來(lái)做的。
寫了一個(gè)Javascript XSLT處理XML展現(xiàn)頁(yè)面的小功能?,F(xiàn)在帖出來(lái)和大家共享,希望大家給點(diǎn)改進(jìn)意見(jiàn)。
在Firefox中使用XSLTProcessor對(duì)象處理XML,主要使用該對(duì)象的兩個(gè)方法:
一、transformToFragment()。
二、transformToDocument()。
下面的代碼僅僅使用transformToFragment()方法來(lái)實(shí)現(xiàn)對(duì)XML文件處理,如果你對(duì)在Firefox中使用 Javascript XSLT 處理XML文件感興趣的話不妨試著將以下代碼改寫成使用transformToDocument()方法來(lái)實(shí)現(xiàn)的處理功能。
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對(duì)象 var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslDoc); var oResultFragment = xsltProcessor.transformToFragment(xmlDoc,document); // 將解析過(guò)的文本輸出到頁(yè)面 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顯示數(shù)據(jù)的第二種方式,主要代碼如下:
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對(duì)象 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 文件”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)怎么使用 JavaScript XSLT 處理 XML 文件這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
分享文章:怎么使用JavaScriptXSLT處理XML文件
文章路徑:http://jinyejixie.com/article0/pdciio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、App設(shè)計(jì)、建站公司、小程序開發(fā)、靜態(tài)網(wǎng)站、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)