WEB开发网
开发学院WEB开发Xml 用XsltArgumentList实现xsl的参数调用 阅读

用XsltArgumentList实现xsl的参数调用

 2005-07-10 11:26:08 来源:WEB开发网   
核心提示:选择自 hstod 的 Blog xmlDocument XmlDoc=new XmlDocument(); XmlDoc.Load(strFilePath); XslTransform xslt = new XslTransform(); xslt.Load(strXslPath); XsltArgume

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

Tags:XsltArgumentList 实现 xsl

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接