您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關如何使用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 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>
感謝各位的閱讀!關于“如何使用xmldom在服務器端生成靜態html頁面”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。