手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Xml编程>列表

用XsltArgumentList实现xsl的参数调用

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

选择自 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>

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!