程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> 如何讓xslt樣式表接受參數

如何讓xslt樣式表接受參數

編輯:更多關於編程

     我們經常會有這樣的需求:有多份數據,需要共享一份樣式表來轉換。他們的 區別可能就在於頂部會有一些小的差異,那麼如何解決這個事情呢?

    1. 在XSLT中定義參數

    <?xml version="1.0" encoding="utf- 8"?>
    <xsl:stylesheet version="1.0"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt"  exclude-result-prefixes="msxsl"
    >
    <xsl:output method="xml"  indent="yes"/>
    <xsl:param name="Title"></xsl:param>
    <xsl:template match="/">
    <html>
    <head></head>
    <body>
    <h1>
    <xsl:value-of  select="$Title"/>
    </h1>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

    2. 在客戶端代碼中傳遞一個參數過來

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml.Xsl;
    using System.Xml.XPath;
    using System.Xml;
    using System.IO;
    namespace ConsoleApplication1
    {
    class Program
    {
    static void Main(string[] args)
    {
    XmlDocument doc = new XmlDocument();
    doc.LoadXml ("<Tables><Table><Name>Orders</Name></T able></Tables>");
    XslCompiledTransform tran = new  XslCompiledTransform();
    tran.Load("Test.xslt");
    XsltArgumentList a = new XsltArgumentList ();
    a.AddParam("Title", string.Empty,  "陳希章的報告");
    FileStream stream = new FileStream ("Test.htm", FileMode.Create);
    tran.Transform(doc.CreateNavigator(), a,  stream);
    stream.Close();
    }
    }
    }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved