在XsltArgumentList中调用xsl参数_Xml教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析WEB页面工具语言XML(二)定义
二、XML的定义 XML是一个精简的SGML,它将SGML的丰富功能与HTML的易用性结合到Web的应用中。XML保留了SGML的可扩展功能,这使XML从根本上有别于HTML。XML要比HTML强大得多,它不再是固定的标记

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="http://www.mb5u.com/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.mb5u.com" File="20056171345164340.gif" Key="200561713451653143405" Type="1" />
</DB>

分享:浅谈XML和XSLT结合使网站设计浑然一体
XML和XSLT的转换使Web设计受益无穷。借助XML和 XSLT转换,你可以实现将动态用语(dynamic verbiage)和网站内容存储在数据库中。你可以在XML中传输数据库,然后再通过XSLT转换将其转变为HTML脚本

来源:模板无忧//所属分类:Xml教程/更新时间:2008-12-01
相关Xml教程