用XsltArgumentList实现xsl的参数调用

王朝网络·asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有