XML+XSLT 在IE, Firefox 下显示

下边是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;
}

AddThis Social Bookmark Button

相关文档(Relevant Entries)
Office2007生成文件不合格 ISO督促微软先遵守OOXML标准
微软:不会在OOXML未来版本上起诉开发商
印度反对微软Open XML文件格式
如何生成XML数据
一个Asp与XML交互的实例源码
XML 和 Java 技术: 数据绑定的多种用法
使用XML文件记录操作日志
面向开发人员(Perl、PHP)的XML
WoW Powerleveling
Posted on October 10, 2007 1:00 PM | | | Comments (1) | | TrackBacks (0)

引用地址(TRACKBACKS)
 
TrackBack URL for this entry:
http://www.wujianrong.com/mt-tb.cgi/6246

评论 (1)


发布评论(ADD YOUR COMMENTS)
 
感谢您参与评论;发表您的意见时请保持文章的相关性;不相关的或是单纯宣传的内容可能会被删掉。您的E-mail只是用来确认您发表的文章,不会出现在网页上。
Please keep your comments relevant to this blog entry. Email addresses are never displayed, but they are required to confirm your comments.

称呼(Name):      记住我的个人信息(Remember)
邮箱(Email):
网址(URL):
评论(Add your comments):

相关内容
广告计划