如何使用JavascriptXSLT处理XML文件

文章作者 100test 发表时间 2007:03:14 16:40:56
来源 100Test.Com百考试题网


最近使用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显示数据的第二种方式。来源:www.examda.com

主要代码如下:

var xmlDoc.
var xslDoc.



相关文章


W3CXMLSchema与文档类型定义
JDBC高级数据类型的应用
如何使用JavascriptXSLT处理XML文件
用java封装产品异常的代码
关于j2se的一些知识和技巧
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛