|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
服务器端的生成的页面数据,为了提高访问速度,往往需要生成静态的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 version="1.0" encoding="gb2312" ?> <?xml-stylesheet type="text/xsl" href="book.xsl"?> <moonpiazza> <book> <书名>基于XML 的 ASP.NET开发</书名> <定价>42</定价> <作者>Dan Wahlin/王宝良</作者> </book> <book> <书名>XML应用的UML建模技术</书名> <定价>32</定价> <作者>David Carlson/周靖 侯奕萌 沈金河等</作者> </book> <book> <书名>极限编程研究</书名> <定价>70</定价> <作者>Giancarrio Succi/Michele Marchesi/张辉(译)</作者> </book> <book> <书名>Design Patterns</书名> <定价>38</定价> <作者>Erich Gamma/Richard Helm/Ralph Johnson/John Vlissides</作者> </book> </moonpiazza> /*** book.xsl ***/ <?xml version="1.0" encoding="gb2312"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <!-- 下面一句必须 --> <xsl:output method="xml" encoding="gb2312" indent="yes"/> <xsl:template match="/"> <html> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <!-- by moonpiazza 2003.6.13--> <body> <table border="1"> <tr> <xsl:for-each select="moonpiazza/book[position()=1]/*"> <td><xsl:value-of select="name()" /></td> </xsl:for-each> </tr> <xsl:for-each select="moonpiazza/book"> <tr> <xsl:for-each select="./*"> <td><xsl:value-of select="." /></td> </xsl:for-each> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 返回类别: 教程 上一教程: VBSCRIPT语法速查及实例说明 下一教程: 用ASP实现对MP3曲目信息的操作 您可以阅读与"使用XMLDOM在服务器端生成静态HTML页面"相关的教程: · ASP通过XMLDOM在服务器端操作XML文件的主要方式和实现 · 在不支持FSO的服务器上使用XMLDOM创建HTML文件 · 个人经验:使用ASP尽量减少服务器端的工作量 · 网站生成静态页面,及网站数据采集的攻、防原理和策略 · ASP生成静态页面的方式 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |