Maison > Article > développement back-end > Utilisez XMLdom pour générer des pages HTML statiques côté serveur
Afin d'améliorer la vitesse d'accès aux données de page générées côté serveur, il est souvent nécessaire de générer des pages htm statiques.
Habituellement, vous pouvez utiliser fso pour générer des pages HTML statiques.
Mais si fso est interdit ou si vous n'avez pas la permission d'utiliser fso, vous avez besoin d'autres méthodes pour le résoudre
Utiliser xmldom et utiliser sa méthode save() est une bonne solution
De plus, si le. les données sont au format XML, l'utilisation de save() est plus rapide que l'utilisation de fso et le taux de réutilisation du code est également élevé.
Mais il convient de noter que :
Lors de l'appel de la méthode xmldom.save(), la méthode d'encodage par défaut est "uft-8".
Si le type de sortie du document spécifié est "html" , en raison de son Le type d'encodage ne peut pas être spécifié. Lorsque les données contiennent des caractères chinois, vous constaterez que tous les caractères chinois dans les données htm enregistrées sont devenus tronqués
Solution :
mécanisme, généralement le navigateur. n'accepte pas le type html La page n'interprétera pas les balises autres que les balises htm.
a Spécifiez le type de document de sortie comme "xml"
b Spécifiez l'encodage (encoding="gb2312")
c. Spécifiez de conserver le format d'indentation (pour une lecture facile)
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>
Ce qui précède est le contenu de l'utilisation de xmldom pour générer des pages HTML statiques côté serveur. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois. (www.php.cn) !