用XsltArgumentList实现xsl的参数调用
程序员文章站
2022-03-19 21:09:31
...
选择自 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中文网(www.php.cn)!
推荐阅读
-
php用windows COM组件调用openoffice接口实现word转pdf文件时报错的解决办法
-
C#通过重载构造函数传递参数、实现两个窗体下的方法的互相调用
-
angular 用Observable实现异步调用的方法
-
利用Vue3实现一个可以用js调用的组件
-
用SpringCloud Alibaba搭建属于自己的微服务(十四)~基础搭建~使用springcloud openfeign实现rpc调用
-
Jmeter调用Python脚本实现参数互相传递的实现
-
pytest用例间参数传递的两种实现方式示例
-
Java三种方式实现发送xml参数的WebService接口调用
-
用可变参数列表实现简单的printf函数
-
c# - 用PHP调用.net webservice ,当参数类型是datetime的时候如何传参?