小兔网

选择自 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的参数调用的内容,更多相关内容请关注小兔网(www.zhishitu.com)!