当前位置: 首页 > news >正文

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

相关文章:

  • VC++/MFC学习笔记(五)
  • 自动提示的文本框
  • [转]屏蔽网页右键
  • linux 上远程控制
  • 快捷键控件
  • pthread_cond_wait(条件变量)
  • 装了vs2008后再装sql server 2005碰到的问题
  • ArcGIS.Server.9.2.DotNet自带例子分析(七、一)
  • 简述GPS导航设备的定位原理
  • ASP.Net2.0 GridView 多列排序,显示排序图标,分页(转)
  • C#正则表达式类Match和Group类的理解
  • 声音音质评价专业述语
  • 使用Document_Handler_Example修改的注意事项
  • iptables 范例
  • 将asp.net站点转化为sharepoint站点
  • 【个人向】《HTTP图解》阅后小结
  • android图片蒙层
  • Cookie 在前端中的实践
  • Golang-长连接-状态推送
  • IDEA常用插件整理
  • Java小白进阶笔记(3)-初级面向对象
  • Node 版本管理
  • Objective-C 中关联引用的概念
  • PhantomJS 安装
  • PHP那些事儿
  • Promise面试题,控制异步流程
  • Redis 中的布隆过滤器
  • STAR法则
  • 读懂package.json -- 依赖管理
  • 设计模式走一遍---观察者模式
  • 一文看透浏览器架构
  • 移动端 h5开发相关内容总结(三)
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • 3月27日云栖精选夜读 | 从 “城市大脑”实践,瞭望未来城市源起 ...
  • const的用法,特别是用在函数前面与后面的区别
  • Python 之网络式编程
  • 带你开发类似Pokemon Go的AR游戏
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • 移动端高清、多屏适配方案
  • 整理一些计算机基础知识!
  • #include
  • #Linux(make工具和makefile文件以及makefile语法)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (10)STL算法之搜索(二) 二分查找
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (2.2w字)前端单元测试之Jest详解篇
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (多级缓存)缓存同步
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (十六)串口UART
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例