用XML和XSLT来生成静态的HTML页面

转载自: http://www.cnblogs.com/wengjinbao/archive/2006/08/08/471608.aspx
用XML和XSLT生成HTM页面是我一直想做的事情,
毕竟,与其让aspx页面每访问一次就去访问数据库,打开数据连接,关闭数据连接,
还不如将数据存成htm静态页面

在网络上一直找寻这方面的资料,也不是很多,也去MSDN去看类库,一个方法一个方法的看,终于管中窥豹
琢磨出这么一点东西来
需要三个文件:: 一个XML,一个XSL,还有一个aspx程序
Listing8.8.2.xml
<?xml version="1.0" encoding="UTF-8" ?>



  步青云
  frey




  frey
  glenn




Listing8.8.1.xsl
<?xml version="1.0" encoding="UTF-8" ?>
http://www.w3.org/1999/XSL/Transform" version="1.0">


 
   
     
   
   


  我的呢称:





.




最后是aspx程序页面Listing8.8.5.aspx





  public sub Page_Load(sender as Object, e as EventArgs)  
    Dim xmlPath as string = Server.MapPath("Listing8.8.2.xml")
    Dim xslPath as string = Server.MapPath("Listing8.8.1.xsl")
    Dim htmPath as string = Server.MapPath("Listing8.8.1.htm")

    Dim fs as FileStream = new FileStream(xmlPath,FileMode.Open, FileAccess.Read)
    Dim reader as StreamReader = new StreamReader(fs,Encoding.UTF8)
    Dim xmlReader as XmlTextReader = new XmlTextReader(reader)
    Dim fstr as FileStream = new FileStream(htmPath, FileMode.Create)

    Dim doc as XPathDocument = new XPathDocument(xmlReader)
    Dim xslDoc as XslTransform. = new XslTransform()
    xslDoc.Load(xslPath)

    '转换数据
    xslDoc.Transform(doc,Nothing, fstr, nothing)
    xslDoc.Transform(doc,Nothing,Response.Output) ''输出到页面

    '关闭打开的对象
    fs.Close()
    reader.Close()
    xmlReader.Close()
    fstr.Close()
  end sub
C#代码:
ContractedBlock.gif ExpandedBlockStart.gif Code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gtstring xmlPath = Server.MapPath("listing.xml");
        
string xslPath = Server.MapPath("listing.xsl");
        
string htmlPath = Server.MapPath("listing.htm");

        FileStream fs 
= new FileStream(xmlPath, FileMode.Open, FileAccess.Read);
        StreamReader reader 
= new StreamReader(fs, Encoding.UTF8);
        XmlTextReader xmlReader 
= new XmlTextReader(reader);
        FileStream fstr 
= new FileStream(htmlPath, FileMode.Create);

        XPathDocument xpathDoc 
= new XPathDocument(xmlReader);
        XslCompiledTransform transform 
= new XslCompiledTransform();
        transform.Load(xslPath);

        transform.Transform(xpathDoc, 
null, fstr);
        
//transform.Transform(xpathDoc, null, Response.Output);

        fs.Close();
        reader.Close();
        xmlReader.Close(); 
        fstr.Close();


生成的htm文件如下::
Listing8.8.1.htm


  我的呢称:
 
1.
步青云
2.
frey

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-598252/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12639172/viewspace-598252/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值