利用ASP+XML自动生成静态HTM
2004-11-26 14:10
686 查看
<!--process.asp
用于生成临时XML文件,并生成静态HTML文件
-->
<!--#include file="conn.inc"-->
<%
author=request.form("n_author")
title=request.form("n_title")
content=request.form("n_content")
tempXml=replace( replace( replace (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 = replace( replace( replace (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>")
%>
用于生成临时XML文件,并生成静态HTML文件
-->
<!--#include file="conn.inc"-->
<%
author=request.form("n_author")
title=request.form("n_title")
content=request.form("n_content")
tempXml=replace( replace( replace (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 = replace( replace( replace (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>")
%>
相关文章推荐
- 最近ASP.NET WAP开发的一些情况!
- 续从IIS到PAGE对象:ASP.NET发现之旅
- AspnetUpload 2.1 beta 新鲜出炉
- 从IIS到PAGE对象:ASP.NET之旅
- 有滚动条、固定Header的ASP.Net DataGrid实现
- ASP.Net 1.x 中 __doPostBack实现的问题
- 在ASP.NET中动态修改文件下载[翻译]
- 编写安全的ASP代码
- 在网上看到有朋友要DVBBS -> ASPNETForums2.0的转换程序.
- 跟踪的诀窍
- DataSet导出CSV格式(ASP.NET,C#)
- ASP.NET的修复
- ASP.NET Web 服务还是 .NET Remoting:如何选择
- ASP.NET中使用数据处理插入数据注意的问题
- asp实现k线图(在线)
- [ASP-Last-Code]显示ASP页面的代码
- JasperReport 学习之路
- 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的内容是否合法
- 用asp.net实现把此文推荐给好友的功能
- ASP.NET读取POP3邮件的操作(纯代码)