通过xml 生成html页面,使用xmldom在服务器端生成静态html页面

服务器端的生成的页面数据,为了提高访问速度,往往需要生成静态的htm页面。

通常,可以使用fso生成静态的htm页。

但如果是fso被禁止或没有使用fso的权限,就需要其他的方法来解决.

利用xmldom,使用其save()方法就是一个很好的解决之道.

而且,如果数据是xml格式,使用save()比使用fso速度要快,代码的复用率也高。

但需要注意的是:

调用xmldom.save()方法时,默认的编码方式是"uft-8".

如果指定文档输出类型为"html",由于其不可指定编码类型,当数据中含有中文字符,就会发现保存的htm数据中,所有中文字符都变成了乱码.

解决方法:

机制,通常浏览器对于html类型的页面,对于htm标记以外的标记并不进行解释.

a.指定输出文档类型为"xml"

b.指定编码(encoding="gb2312")

c.指定保留缩进格式(以方便阅读)

examples:

/*** create.asp ***/

dim cXMLFile, cXSLFile

dim oXML, XSL

dim oOutput

dim cHtmLFile, cOutputFile

cHtmLFile = "book.htm"

'cHtmLFile = "book_" & replace( replace( replace (now,":",""), "-", ""), " ", "") & ".htm"

cXMLFile = Server.MapPath("book.xml")

cXSLFile = Server.MapPath("book.xsl")

cOutputFile = Server.MapPath(cHtmLFile)

Set oXML = Server.CreateObject("Microsoft.XMLDOM")

oXML.async = false

oXML.load(cXMLFile)

Set oXSL = Server.CreateObject("Microsoft.XMLDOM")

oXSL.async = false

oXSL.load(cXSLFile)

Set oOutput = Server.CreateObject("Microsoft.XMLDOM")

Call oXML.transformNodeToObject(oXSL, oOutput)

oOutput.save (cOutputFile)

Set oXML = Nothing

Set oXSL = Nothing

Set oOutput = Nothing

Response.redirect(cHtmLFile)

%>

/*** book.xml ***/

基于XML 的 ASP.NET开发书名>

42定价>

Dan Wahlin/王宝良作者>

XML应用的UML建模技术书名>

32定价>

David Carlson/周靖 侯奕萌 沈金河等作者>

极限编程研究书名>

70定价>

Giancarrio Succi/Michele Marchesi/张辉(译)作者>

Design Patterns书名>

38定价>

Erich Gamma/Richard Helm/Ralph Johnson/John Vlissides作者>

/*** book.xsl ***/

时间: 2006-10-08

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值