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

来源:互联网 发布:linux elementary os 编辑:程序博客网 时间:2024/05/21 10:12
接收表单传值生成临时XML文件,结合XSL,生成静态HTML文件。
<!--process.asp用于生成临时XML文件,并生成静态HTML文件-->

<!--#include file="conn.inc"-->
<%
author
=request.form("n_author")
title
=request.form("n_title")
content
=request.form("n_content")
tempXml
=replacereplacereplace (now,":",""), "-"""), " """& ".xml"
dim objdom
set objdom=server.createobject("Microsoft.XMLDOM")
dim objroot
set objroot=objdom.createElement("moonpiazza")
objdom.appendchild objroot

Set objPI = objDom.createProcessingInstruction("xml","version='1.0'")
objDom.insertBefore objPI, objDom.childNodes(
0)

dim objbook
set objbook=objdom.createElement("book")
objroot.appendchild objbook

set objtit=objdom.createElement("书名")
objtit.text
=title
objbook.appendchild objtit

set objaut=objdom.createElement("作者")
objaut.text
=author
objbook.appendchild objaut

set objpri=objdom.createElement("定价")
objpri.text
=content
objbook.appendchild objpri

'生成临时XML放于TEMP文件夹下

objdom.save(server.mappath(
"temp/"&tempXml))

'//以下部分为生成htm部分
cHtmLFile = replacereplacereplace (now,":",""), "-"""), " """& ".htm"

cXMLFile 
=server.mappath("temp/"&tempXml)
cXSLFile 
= Server.MapPath("book.xsl")
cOutputFile 
= Server.MapPath("news/"&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

sql
="INSERT INTO news(author,title,content,url) values('"&author&"','"&title&"','"&content&"','news/"&cHtmLFile&"')"

conn.execute(sql)

'生成HTM文件保存到NEWS文件夹下

Response.redirect(
"news/"&cHtmLFile)

%
>

 

<!--list.asp文件列表-->

<!--#include file="conn.inc"-->
<%response.contentType="text/html"%>
<html>
<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="&rs("url")&" target='_blank'>"&rs("title")&"</a></td></tr>")
rs.movenext
loop
response.write(
"</table>")
%
>

 

 

原创粉丝点击