下邊是xslt文件
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:fn="http://www.w3.org/2005/xpath-functions">
<xsl:template match="root">
<html><title>ss</title>
<body>
<xsl:value-of select="message" />
</body>
</html>
</xsl:template>
</xsl:stylesheet>
下邊是XML文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="1.xslt"?>
<root>
<message>這里的</message>
</root>
下邊是通過Ajax調用的函數
function getHtml(xmlText, xsltFile){
var text;
if(typeof(window.ActiveXObject) != 'undefined'){
// 支持IE瀏覽器
try{
var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.3.0");
xslDoc = new ActiveXObject("Msxml2.DOMDocument.3.0");
xmlDoc.async=false;
xslDoc.async = false;
xmlDoc.loadXML(xmlText);
xslDoc.load(xsltFile);
text = xmlDoc.documentElement.transformNode(xslDoc.documentElement);
}catch(e){
if (isDebug) alert(e.name + ": " + e.message);
alert("Unable to do xml/xsl processing");
alert(e.name + ": " + e.message);
}
}else if(document.implementation && document.implementation.createDocument){
// 支持Mozilla瀏覽器
try {
// 在Firefox的XML DOM實現中,并沒有loadXML()方法,不過通過Firefox中的DOMParser類可以模擬loadXML()的行為
var oParser = new DOMParser();
var xmlDoc = oParser.parseFromString(xmlText,"text/xml");
xslDoc = document.implementation.createDocument("", "", null);
xslDoc.async = false;
xslDoc.load(xsltFile);
// 定義XSLTProcessor對象
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xslDoc);
// transformToDocument方式
var result = xsltProcessor.transformToDocument(xmlDoc);
var xmls = new XMLSerializer();
text = xmls.serializeToString(result);
}
catch(e) {
if (isDebug) alert(e.name + ": " + e.message);
alert("Unable to do xml/xsl processing");
}
}
return text;
}
posted on 2007-06-07 16:15
SIMONE 閱讀(1151)
評論(1) 編輯 收藏 所屬分類:
JAVA 、
JSP 、
JavaScript