• 技术文章 >后端开发 >XML/RSS教程

    用XsltArgumentList实现xsl的参数调用

    黄舟黄舟2017-03-01 17:39:56原创882

    选择自 hstod 的 Blog

    xmlDocument XmlDoc=new XmlDocument();    
    XmlDoc.Load(strFilePath);
        XslTransform xslt = new XslTransform();    
        xslt.Load(strXslPath);
        XsltArgumentList xslArg = new XsltArgumentList();    
        xslArg.AddParam("Key1", "",IXPath);    
        xslArg.AddParam("Path", "",strPath);
        StringBuilder sb = new StringBuilder("");    
        StringWriter sw = new StringWriter(sb);    
        XmlTextWriter writer = new XmlTextWriter(sw);    
        xslt.Transform(XmlDoc,xslArg,writer,null);   
         writer.Close();    
         HXML.InnerHtml=sb.ToString();

    这是xsl文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
     <xsl:param name="Key1"/>
     <xsl:param name="Path"/>
     <xsl:template match="/">
      <xsl:apply-templates select="/DB/L[@Key=$Key1]" />
     </xsl:template>
     
     <xsl:template  match="L[@Type='1']">
      <a target="_blank">
       <xsl:attribute name="href"><xsl:value-of select="@Link" /></xsl:attribute>
       <img border="0">
        <xsl:attribute name="width"><xsl:value-of select="@width" /></xsl:attribute>
        <xsl:attribute name="height"><xsl:value-of select="@height" /></xsl:attribute>    
        <xsl:attribute name="src"><xsl:value-of select="$Path" />Res/AD/<xsl:value-of select="@File" /></xsl:attribute>
       </img>   
      </a>
     </xsl:template>
     
     <xsl:template  match="L[@Type='2']">
       <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
       codebase="http://download.macromedia.com/pub/shockwave/cabs/Flash/swflash.cab#version=6,0,29,0" >
        <xsl:attribute name="width"><xsl:value-of select="@width" />
        </xsl:attribute>
        <xsl:attribute name="height"><xsl:value-of select="@height" />
        </xsl:attribute>    
        <param name="movie">
        <xsl:attribute name="value"><xsl:value-of select="$Path" />Res/AD/<xsl:value-of select="@File" />
        </xsl:attribute>
        </param>
        <param name="quality" value="high"/>
        <embed quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash">
         <xsl:attribute name="width"><xsl:value-of select="@width" />
         </xsl:attribute>
         <xsl:attribute name="height"><xsl:value-of select="@height" />
         </xsl:attribute>    
         <xsl:attribute name="src"><xsl:value-of select="$Path" />Res/AD/<xsl:value-of select="@File" />
         </xsl:attribute>    
        </embed>
       </object>
     </xsl:template>
     
    </xsl:stylesheet>

    xml文件

    <?xml version="1.0" encoding="GB2312"?>
    <DB>
      <L Name="测试1" height="100" width="100"
       Link="http://www.123.com" File="20056171345164340.gif" Key="200561713451653143405" Type="1" />
    </DB>

    以上就是用XsltArgumentList实现xsl的参数调用的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:将一个图片以二进制值的形式存入Xml文件中 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 详细介绍xml的语法的使用和学习• Xml_javascript分页• 具体介绍历数Firefox2.0对XML处理的改进的代码实例(图)• XML数据读取方式性能比较(一)• Javascript 调用XML制作连动下拉框代码实例详解
    1/1

    PHP中文网