xslt 转换方法

一、客户端转换

    function XsltTransform(xslfile)
  
       {        
  
           if(typeof(window.ActiveXObject) != 'undefined')
  
           {
  
               //ie
 
              try
 
              {
 
                  var xmlDoc=new ActiveXObject("Msxml2.DOMDocument.3.0");
 
                  var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument");
 
                  xmlDoc.async=false;
 
                  xslDoc.async = false;
 
                 xmlDoc.loadXML(document.getElementById("xmlContent").value.replace(/\r\n/gi,""));
 
                 xslDoc.load(xslfile);
 
                
 
                 var oTemplate = new ActiveXObject("Msxml2.XSLTemplate");
 
                 oTemplate.stylesheet = xslDoc;
 
                 var oProcessor = oTemplate.createProcessor();
 
                  oProcessor.input = xmlDoc.documentElement;
 
                                 
 
                  oProcessor.addParameter("parameter",'<%=count%>');
 
                  oProcessor.transform();
 
                 
 
                  document.getElementById('div').innerHTML=oProcessor.output;
 
                 
 
              }catch(e){
 
                
 
              }
 
          }   
 
          else if(document.implementation && document.implementation.createDocument)
 
          { 
 
              //ff
 
              try
 
              {
 
                  var parser=new DOMParser();
 
                  var xmlDoc;
 
                  if(document.getElementById("xmlContent").value == "")                
 
                     xmlDoc = parser.parseFromString(text,"text/xml");
 
                  else
 
                      xmlDoc = parser.parseFromString(document.getElementById("xmlContent").value.replace(/\r\n/gi,""),"text/xml");
 
                 
 
                  xmlDoc.async = false;
 
                  
 
                  var xslDoc = document.implementation.createDocument("", "", null);
 
                  xslDoc.async = false; 
 
                  xslDoc.load(xslfile);    
 
 
 
                // 定义XSLTProcessor对象
 
                  var xsltProcessor = new XSLTProcessor();
 
                  xsltProcessor.importStylesheet(xslDoc);
 
                  xsltProcessor.setParameter(null, "parameter", '<%=count %>');
 
                 // transformToDocument方式
 
                 var result = xsltProcessor.transformToDocument(xmlDoc);
 
                 document.getElementById('div').innerHTML = result.documentElement.textContent;
 
             }catch(e){   
 
             }
 
         }
 
     }
 

二、服务器端方法:

 XslTransform xslt = new XslTransform();     
xslt.Load(
"print_root.xsl");
XmlDocument doc 
= new XmlDocument();
doc.Load(
"library.xml");
// Create a new document containing just the result tree fragment.
XmlNode testNode = doc.DocumentElement.FirstChild; 
XmlDocument tmpDoc 
= new XmlDocument(); 
tmpDoc.LoadXml(testNode.OuterXml);
// Pass the document containing the result tree fragment 
// to the Transform method.
Console.WriteLine("Passing " + tmpDoc.OuterXml + " to print_root.xsl");
xslt.Transform(tmpDoc, 
null, Console.Out, null);

转载于:https://www.cnblogs.com/davyjiang/articles/1247369.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值