xml文件:
<?xml version="1.0" encoding="utf-8" ?>
<order>
  <book ISBN="10-861003-324">
    <title>the handmaid's tale</title>
    <price>19.95</price>
  </book>
  <cd ISBN="2-3631-4">
    <title>americana</title>
    <price>16.95</price>
  </cd>
</order>
xslt文件:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="date"/>
  <xsl:template match="/">
  <order>
    <date>
      <xsl:value-of select="$date"/>
    </date>
    <total>
      <xsl:value-of select="sum(//price)"/>
    </total>
    
  </order>
  </xsl:template>
</xsl:stylesheet>
主程序:
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
namespace argumentlistxslt
{
    class Program
    {
        private static string inputfile = @"E:\c#\c#_windows程序设计\argumentlistxslt\argumentlistxslt\order.xml";
        private static string stylefile = @"E:\c#\c#_windows程序设计\argumentlistxslt\argumentlistxslt\order.xslt";
        private static string resultfile = @"E:\c#\c#_windows程序设计\argumentlistxslt\argumentlistxslt\currentorder.xml";
        static void Main(string[] args)
        {
            XPathDocument inputdoc=new XPathDocument(inputfile);
            XslCompiledTransform transformer=new XslCompiledTransform();
            transformer.Load(stylefile);
            //创建xsltargumentlist 参数
            XsltArgumentList arglist=new XsltArgumentList();
            DateTime rightnow=DateTime.Now;
            arglist.AddParam("date","",rightnow.ToString());  //中间“” 表示默认命名空间
            XmlTextWriter xtw=new XmlTextWriter(resultfile,null);
            transformer.Transform(inputdoc,arglist,xtw);
            xtw.Close();
            
        }
    }
}

评论