使用xmldom在服务器端生成静态html页面

2016-02-19 21:16 5 1 收藏

想不想get新技能酷炫一下,今天图老师小编就跟大家分享个简单的使用xmldom在服务器端生成静态html页面教程,一起来看看吧!超容易上手~

【 tulaoshi.com - Web开发 】

  服务器端的生成的页面数据,为了提高访问速度,往往需要生成静态的htm页面。
  通常,可以使用fso生成静态的htm页。
  但如果是fso被禁止或没有使用fso的权限,就需要其他的方法来解决.
  利用xmldom,使用其save()方法就是一个很好的解决之道.
  而且,如果数据是xml格式,使用save()比使用fso速度要快,代码的复用率也高。

  但需要注意的是:
  调用xmldom.save()方法时,默认的编码方式是"uft-8".
  如果指定文档输出类型为"html",由于其不可指定编码类型,当数据中含有中文字符,就会发现保存的htm数据中,所有中文字符都变成了乱码.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  解决方法:
  机制,通常浏览器对于html类型的页面,对于htm标记以外的标记并不进行解释.
  a.指定输出文档类型为"xml"
  b.指定编码(encoding="gb2312")
  c.指定保留缩进格式(以方便阅读)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  
  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]/*"   
      tdxsl:value-of select="name()" //td   
     /xsl:for-each
    /tr
    xsl:for-each select="moonpiazza/book"
     tr
      xsl:for-each select="./*"   
       tdxsl:value-of select="." //td   
      /xsl:for-each
     /tr
    /xsl:for-each
  /table
  /body
  /html
  /xsl:template

  /xsl:stylesheet

   

来源:http://www.tulaoshi.com/n/20160219/1625752.html

延伸阅读
标签: Web开发
使用XMLDOM创建HTML文件有些朋友的主机不支持FSO,但又要生成HTML文件,是不是有些为难呢? 而现今支持ASP的主机一般都采用微软OS,而这些OS一般都是win2k server及以上系统,就算不安装XML PARSER同样会支持XML parser解析 而XMLDOM也有个 .SAVE方法.通过这样我们就可以来在不FSO的主机上生成HTML文件了. 首先,说明一点....
标签: Web开发
通过MS AJAX可以扩展一个服务器端控件在客户端呈现后的特性,使其界面更加友好。         实例代码:IScriptControl.rar         一、创建网站,选择ASP.NET AJAX-Enabled Web Site.         二、向项目中添加一个...
     页面代码:   <script type="text/javascript"    function ReceiveServerData(rValue)    {    alert(rValue);    }    </script   <input id="Button1" type="button" value="button" onclick ="CallServe...
标签: ASP
  客户端和服务器通信可采用一种自定义协议。然而,SOAP为此提供了一种灵活的、易于扩展的和简单的方案。使用XMLHTTP对象,客户端浏览器可请求在服务器上执行一个ASP,并等候服务器的响应以继续。由于原始客户端网页没有卸载,所以对客户来说,整个过程都是透明的,而且速度一般都非常快。   下面通过几个示范网页来探讨该技术...
标签: PHP
  假设有10个网站,分布在各地,它们的库存要同步,而数据库不支持远程连接。 我们要实时地取得服务器的库存数,可以通过很多种方法,我所知道的有以下几种: ·CURL方式 ·SOCKET方式 ·PHP5中的SOAP方式 以下分别给出示例来实现它: CURL方式 client.php <?php $psecode = ’NDE005’;...

经验教程

140

收藏

88
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部