집 >백엔드 개발 >XML/RSS 튜토리얼 >xmldom을 사용하여 서버 측에서 정적 HTML 페이지 생성
액세스 속도를 향상시키기 위해 서버 측에서 생성된 페이지 데이터에 대해 정적 HTML 페이지를 생성해야 하는 경우가 많습니다.
일반적으로 fso를 사용하여 정적 HTML 페이지를 생성할 수 있습니다.
그러나 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 페이지를 생성하는 내용입니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php.php)를 참고하세요. CN)!