您的位置:首页 > Web前端 > JavaScript

javascript xslt 处理XML文件(支持火狐)

2008-10-04 16:44 441 查看
//======================================================
//== (c)2008 test99 inc by Mansa NetFramework v1.0 ==
//== Author :JesseChan ==
//== Time :2008-9-25 ==
//======================================================
var ajax;
function FormToDisplay(){
try{
if(document.implementation && document.implementation.createDocument){//判断浏览器的类型
var xmlDoc = ajax.req.responseXML;//支持Mozilla浏览器
var xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = false; xslDoc.load("xslt/showpage.xslt");
var xsltProcessor = new XSLTProcessor();//定义XSLTProcessor对象
xsltProcessor.importStylesheet(xslDoc);
var result = xsltProcessor.transformToDocument(xmlDoc); //transformToDocument方法
var xmls = new XMLSerializer();
var objMsg = xmlDoc.getElementsByTagName("state")[0].childNodes[0].nodeValue;
var objXML = xmls.serializeToString(result);
ResultShow(objXML,objMsg);
}//IE浏览器等
else{
var xmlDoc = ajax.req.responseXML;
var xslDso = Stylesheet.XMLDocument;//IE下定义XSLT
var objXML = xmlDoc.transformNode(xslDso);//transformToNode方式
var objMsg = xmlDoc.getElementsByTagName("state")[0].text;
ResultShow(objXML,objMsg);
}
}
catch(e) { alert("Unable to do xml/xsl processing"); }
}
function DatumLibraryIni(){
var _result = document.getElementById("hidResult").value;
ajax = new net.xmlHttp("../plugin/xmlhttp/HttptHandler.ashx?T=1&method=LoadDatum&result="+_result,FormToDisplay, null, "GET");
}
function ResultShow(objXML,objMsg){
if(trim(objMsg)=="")
divDatumToDisplay.innerHTML = objXML;
else
divDatumToDisplay.innerHTML = objMsg;
}

文中处理了在火狐、IE中利用XSLT和javascript把XML Dom转换过来。

其中在火狐和IE中取XMLDom节点值也有些区别。火狐中是nodeValue而IE中则是text
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: