>백엔드 개발 >XML/RSS 튜토리얼 >XsltArgumentList를 사용하여 xsl 매개변수 호출 구현

XsltArgumentList를 사용하여 xsl 매개변수 호출 구현

黄舟
黄舟원래의
2017-03-01 17:39:561453검색

hstod 블로그에서 선택

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=&#39;1&#39;]">
  <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=&#39;2&#39;]">
   <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 매개변수 호출을 구현하는 내용입니다. 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.