接收XML数据并使用XSL样式表进行格式化

2007/1/22 12:39:28


阅读全文(1860) | 回复(0) | 编辑 | 精华

[转贴]转自...         今天的一天时间都花费在实现XML数据的接收以及XSL-样式表的格式化,当然这些工作在IE上面都是很容易的事情。可是挪移到FireFox上的时候,一切就没有那么美妙了。:))        必须实现脚本的跨越浏览器功能。上午吃饭前找到资料,在自己手写还是使用开源框架方面产生了冲突,最终采用在资料的基础上改写,这样的代码量不大。        下面就是封装好的JS函数,只是暂时可以在Firefox,IE上面通用,测试只是小范围而已。这个函数就是为了程序使用,所以就这么写了......    /*    xml:可以提供给XML数据的连接或者文件    xsl:样式表或者样式表的连接    div:层-DIV的ID    result:xsl文件解析xml的结果写入到div中    */      function showXml( xml, xsl, div ){    if (window.ActiveXObject) {             IEXml( xml, xsl, div );    }    //Para funcionar no Mozilla/Firefox    else if(window.XMLHttpRequest) {            FireXml( xml, xsl, div );    }} function IEXml( xml, xsl, div ){            var objeXml;            var objeXsl;            var objeXml = new ActiveXObject("Microsoft.XMLDOM");            objeXml.async = false;            objeXml.load( xml );            var objeXsl = new ActiveXObject("Microsoft.XMLDOM");            objeXsl.async = false;            objeXsl.load( xsl );            var theDiv = document.getElementById( div );            theDiv.innerHTML = objeXml.transformNode(objeXsl);} function FireXml( xml, xsl, div ){            var objeXSLTProcessor;            var objeXmlDoc;            var objeXSLT;                        var objeXml;            var objeXsl;            objeXSLTProcessor = new XSLTProcessor();            objeXsl = new XMLHttpRequest();            objeXsl.open("GET", xsl, false);            objeXsl.send(null);                        objeXSLT = objeXsl.responseXML;                        objeXSLTProcessor.importStylesheet(objeXSLT);             objeXml = new XMLHttpRequest();                        objeXml.open("GET", xml, true );            objeXml.send(null);                objeXmlDoc = (new DOMParser()).parseFromString( objeXml.responseText, "text/xml");            var tvs = objeXSLTProcessor.transformToFragment(objeXmlDoc, document);            var theDiv = document.getElementById( div );            div.innerHTML = "";            theDiv.appendChild( tvs );} 

Qr

Posted by Qr on 2007/1/22 12:39:28


发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)
站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144782174 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号