JavaScript调用xslt转化xml实现多浏览器支持
2009-04-15 19:16
706 查看
xsltTransfromXml.js
文件中的核心代码
var myFunction =
{
//properties(数据库中取出的XML格式的字符串)
//xsltPath(转化该xml的xslt的路径)
//divPosition(该模块所要放入的div的ID);
differentExplore: function(properties, xsltPath, divPosition) {
if (document.implementation && document.implementation.createDocument) {
try //Firefox, Mozilla, Opera, etc.
{
var parser = new DOMParser();
var newsXml = parser.parseFromString(properties, "text/xml");
newsXml.async = false;
var newsXmlXsl = document.implementation.createDocument("", "", null);
newsXmlXsl.async = false;
newsXmlXsl.load(xsltPath); //加载XSLT文档
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(newsXmlXsl);
// transformToDocument方式
var result = xsltProcessor.transformToDocument(newsXml);
var xmls = new XMLSerializer();
document.getElementById(divPosition).innerHTML = xmls.serializeToString(result);
}
catch (e) {
alert(e.message);
}
}
else if (typeof window.ActiveXObject != 'undefined') {
try //for IE
{
var newsXml = new ActiveXObject("Microsoft.XMLDOM");
var newsXmlXsl = new ActiveXObject("Microsoft.XMLDOM");
newsXml.async = false;
newsXmlXsl.async = false;
newsXml.loadXML(properties);
newsXmlXsl.load(xsltPath);
var resultHtml = newsXml.transformNode(newsXmlXsl);
document.getElementById(divPosition).innerHTML = resultHtml;
}
catch (e) {
alert(e.message);
}
}
}
}
html页面中的调用情况
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script language="javascript" type="text/javascript" src="Content/xsltTransfromXml.js" ></script>
</head>
<body onload="LoadXmlByNews()">
<div id="left_imgAndtext" style="float:left;"></div>
<script language="javascript" type="text/javascript">
function LoadXmlByNews() {
var news = '<gxcy>'
+ ' <news><QuestID>1</QuestID><QuestTitle>法律上点击菲拉斯</QuestTitle><QuestText>就分开了度减 肥了解放路上的将来时代了附件是独立就分开了速度减肥了圣诞节</QuestText><QuestTime>2009-03-15T14:21:42.700</QuestTime></news>'
+ ' <news><QuestID>2</QuestID><QuestTitle>受到奖励方式大家了附件</QuestTitle><QuestText>为哟呵摇头师傅说多了好看附加圣诞快乐杰弗里斯点击法律手段就分开了速度减肥了圣诞节</QuestText><QuestTime>2009-03-15T14:21:42.733</QuestTime></news>'
+ ' <news><QuestID>3</QuestID><QuestTitle>睡觉了附件数点</QuestTitle><QuestText>就分开了速度减肥了时间到了福建</QuestText><QuestTime>2009-03-15T14:21:42.733</QuestTime></news>'
+ ' <news><QuestID>4</QuestID><QuestTitle>发生的减肥了</QuestTitle><QuestText>服饰代理就分开了速度减肥了</QuestText><QuestTime>2009-03-15T14:21:42.733</QuestTime></news>'
+ ' <news><QuestID>5</QuestID><QuestTitle>内部为</QuestTitle><QuestText>速度快解放开了下次可厉害形成以偶发了你啰嗦能量上附件了圣诞快乐解放路口女里</QuestText><QuestTime>2009-03-15T14:21:42.733</QuestTime></news>'
+ ' <news><QuestID>6</QuestID><QuestTitle>就覅哪个厉害</QuestTitle><QuestText>粮食店街分开来讲是的啦据福建历史的看见发快了速度就分开了速度减肥了就</QuestText><QuestTime>2009-03-15T14:21:42.733</QuestTime></news>'
+ '</gxcy>';
var xslt = 'xslt/orange_imgAndtext.xslt';
var div = "left_imgAndtext";
myFunction.differentExplore(news, xslt, div);
}
</script>
</body>
</html>
相关文章推荐
- Javascript轻松实现调用xslt解析xml
- javascript轻松实现调用xslt解析xml
- javascript+xml实现简单图片轮换(只支持IE)
- javascript+xml实现简单图片轮换(只支持IE)
- 【原创】【JavaScript实现拼音排序】【支持所有主流浏览器+中英文系统】
- 同时支持 IE 和 Mozilla 浏览器的 javaScript XSLT 代码
- JavaScript 进度条实现代码(Firefox等相似浏览器下不支持)
- 用Javascript和canvas实现的涂鸦板,似乎不支持IE8及以下浏览器
- JavaScript事件流 HTML和CSS代码支持页面的外观,JavaScript代码支持页面的行为,而JavaScript与HTML之间的交互是通过事件实现的。事件,是文档或者浏览器窗口中发生
- 浏览器端javascript调用手机终端本地功能实现02-功能点汇总
- 同时支持 IE 和 Mozilla 浏览器的 javaScript XSLT 代码
- 同时支持 IE 和 Mozilla 浏览器的 javaScript XSLT 代码
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- JavaScript实现二级、多级(N级)联动下拉列表框更新版,支持IE6,FireFox,函数和类两种调用方式,支持到N级,非常通用。
- JavaScript 实现命名空间(namespace)的最佳方案——兼容主流的定义类(class)的方法,兼容所有浏览器,支持用JSDuck生成文档
- 【重要】XSLT学习(九)通过JavaScript转化xml
- 纯JavaScript实现简易版的jQuery选择器,支持链式调用
- JavaScript XML和string相互转化实现代码
- IE8等不支持placeholder,通过javascript实现此功能,能够兼容多种浏览器
- 用xslt+xml+javascript+css实现的菜单