利用ASP+XML自动生成静态HTM

昨晚花了两个小时时间做了一个小例子。功能:接收表单传值生成临时XML文件,结合XSL,生成静态HTML文件。

 1   
 2author=request.form("n_author")   
 3title=request.form("n_title")   
 4content=request.form("n_content")    
 5tempXml=replace( replace( replace (now,":",""), "-", ""), " ", "") & ".xml"   
 6dim objdom   
 7set objdom=server.createobject("Microsoft.XMLDOM")   
 8dim objroot   
 9set objroot=objdom.createElement("moonpiazza")   
10objdom.appendchild objroot 
11
12Set objPI = objDom.createProcessingInstruction("xml","version='1.0'")   
13objDom.insertBefore objPI, objDom.childNodes(0) 
14
15dim objbook   
16set objbook=objdom.createElement("book")   
17objroot.appendchild objbook 
18
19set objtit=objdom.createElement("书名")   
20objtit.text=title   
21objbook.appendchild objtit 
22
23set objaut=objdom.createElement("作者")   
24objaut.text=author   
25objbook.appendchild objaut 
26
27set objpri=objdom.createElement("定价")   
28objpri.text=content   
29objbook.appendchild objpri 
30
31'生成临时XML放于TEMP文件夹下 
32
33objdom.save(server.mappath("temp/"&tempXml)) 
34
35'//以下部分为生成htm部分   
36cHtmLFile = replace( replace( replace (now,":",""), "-", ""), " ", "") & ".htm" 
37
38cXMLFile =server.mappath("temp/"&tempXml)   
39cXSLFile = Server.MapPath("book.xsl")   
40cOutputFile = Server.MapPath("news/"&cHtmLFile) 
41
42Set oXML = Server.CreateObject("Microsoft.XMLDOM")   
43oXML.async = false   
44oXML.load(cXMLFile) 
45
46Set oXSL = Server.CreateObject("Microsoft.XMLDOM")   
47oXSL.async = false   
48oXSL.load(cXSLFile) 
49
50Set oOutput = Server.CreateObject("Microsoft.XMLDOM")   
51Call oXML.transformNodeToObject(oXSL, oOutput) 
52
53oOutput.save (cOutputFile) 
54
55Set oXML = Nothing   
56Set oXSL = Nothing   
57Set oOutput = Nothing 
58
59sql="INSERT INTO news(author,title,content,url) values('"&author&"','"&title&"','"&content&"','news/"&cHtmLFile&"')" 
60
61conn.execute(sql) 
62
63'生成HTM文件保存到NEWS文件夹下 
64
65Response.redirect("news/"&cHtmLFile) 
1response.contentType="text/html"
1<html>
2<body>   

response.write("<table>")
set rs=server.createobject("adodb.recordset")
rs.open "select * from news ",conn,1,1
do while not rs.eof
response.write("<tr><td><a href="&amp;rs(" target="_blank" url")&"="">"&amp;rs("title")&amp;"</a></td></tr>")
rs.movenext
loop
response.write("</table>")

Published At
Categories with Web编程
Tagged with
comments powered by Disqus