Javascript XSLT 处理XML文件(IE and Firefox)

    javascript xslt 处理xml备忘录。支持firefox。
参考:
w3school XSLT - 客户端 http://www.w3school.com.cn/xsl/xsl_client.asp
如何使用Javascript XSLT 处理XML文件 http://java.chinaitlab.com/advance/533787.html

1.xml文件,cdcatalog.xml

<? xml version="1.0" encoding="ISO-8859-1" ?>
<!--  Edited with XML Spy v2007 (http://www.altova.com)  -->
< catalog >
    
< cd >
        
< title > Empire Burlesque </ title >
        
< artist > Bob Dylan </ artist >
        
< country > USA </ country >
        
< company > Columbia </ company >
        
< price > 10.90 </ price >
        
< year > 1985 </ year >
    
</ cd >
    
< cd >
        
< title > Hide your heart </ title >
        
< artist > Bonnie Tyler </ artist >
        
< country > UK </ country >
        
< company > CBS Records </ company >
        
< price > 9.90 </ price >
        
< year > 1988 </ year >
    
</ cd >
</ catalog >


2.xsl文件,cdcatalog.xsl

<? xml version="1.0" encoding="ISO-8859-1" ?>
<!--  Edited with XML Spy v2007 (http://www.altova.com)  -->
< xsl:stylesheet  version ="1.0"
xmlns:xsl
="http://www.w3.org/1999/XSL/Transform" >
< xsl:output  method ='html'  version ='1.0'  encoding ='UTF-8'  indent ='yes'/>

<xsl:template match ="/" >
  
< html >
  
< body >
  
< h2 > My CD Collection </ h2 >
    
< table  border ="1" >
      
< tr  bgcolor ="#9acd32" >
        
< th  align ="left" > Title </ th >
        
< th  align ="left" > Artist </ th >
      
</ tr >
      
< xsl:for-each  select ="catalog/cd" >
      
< tr >
        
< td >< xsl:value-of  select ="title" /></ td >
        
< td >< xsl:value-of  select ="artist" /></ td >
      
</ tr >
      
</ xsl:for-each >
    
</ table >
  
</ body >
  
</ html >
</ xsl:template >
</ xsl:stylesheet >



3.html文件,index.html

< html >
< body >

< script  type ="text/javascript" >
var  xml;
var  xsl;
if ( typeof  window.ActiveXObject  !=  'undefined') {
    xml 
=   new  ActiveXObject( " Microsoft.XMLDOM " );
    xsl 
=   new  ActiveXObject( " Microsoft.XMLDOM " );
else   if (document.implementation  &&  document.implementation.createDocument) {     // mozilla
    xml  =  document.implementation.createDocument( "" "" null );
    xsl 
=  document.implementation.createDocument( "" "" null );
}
//  Load XML 

xml.async 
=   false ;
xml.load(
" cdcatalog.xml " );

//  Load XSL

xsl.async 
=   false ;
xsl.load(
" cdcatalog.xsl " );

//  Transform

if ( typeof  window.ActiveXObject  !=  'undefined') {
    document.write(xml.transformNode(xsl));
else   if (document.implementation  &&  document.implementation.createDocument) {     // mozilla
     var  xsltProcessor  =   new  XSLTProcessor();
    xsltProcessor.importStylesheet(xsl);
    
//  transformToDocument方式
     var  result  =  xsltProcessor.transformToDocument(xml);
    
var  xmls  =   new  XMLSerializer();
    document.write(xmls.serializeToString(result));
}

</ script >

</ body >
</ html >


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值