使用 Asp 创建 XML 文件

转载 2006年06月08日 13:31:00

<!--#include file="conn.asp"-->
<%
Function LoadFile(ByVal File)
    Dim objStream
    On Error Resume Next
    Set objStream = Server.CreateObject("ADODB.Stream")
    If Err.Number=-2147221005 Then
        Response.Write "<div align='center'>非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序</div>"
        Err.Clear
        Response.End
    End If
    With objStream
        .Type = 1
        .Open
        .LoadFromFile Server.MapPath(File)
        If Err.Number<>0 Then
    Response.Write "<div align='center'>文件<font color='#ff0000'>"&File&"</font>无法被打开,请检查是否存在!</font></div>"
    Err.Clear
    Response.End
        End If
        LoadFile = .Read()
        .Close
    End With
    Set objStream = Nothing
End Function
%>
<%
'创建DOM对象
set objDom=server.CreateObject("MicroSoft.XMLDom")

'取得xml数据
'方法1 取得xml文件的xml数据
'objDom.load("c:/test.xml")
'方法2 取得xml数据串的数据
objDom.loadxml("<?xml version=""1.0"" encoding=""utf-8"" ?><Document/>")

'创建一个节点对象
Set Newnode = objDom.DocumentElement'objDom.CreateElement("Document")
Set NewnodeChild=objDom.CreateElement("PostDateTime")
NewnodeChild.Text = now
Newnode.appendChild NewnodeChild
Set NewnodeChild=objDom.CreateElement("TableName")
NewnodeChild.Text = "demo"
Newnode.appendChild NewnodeChild
Set NewnodeChild=objDom.CreateElement("KeyField")
NewnodeChild.Text = "ID"
Newnode.appendChild NewnodeChild
Set NewnodeChild=objDom.CreateElement("DataTable")
'数据表描述
Set ScNodeChild = objDom.CreateElement("Field")
ScNodeChild.Text = "ID"
Set NewAttribute=objDom.CreateNode("attribute","Lable","")
NewAttribute.Text = "ID"
ScNodeChild.SetAttributeNode NewAttribute
Set NewAttribute=objDom.CreateNode("attribute","DataType","")
NewAttribute.Text = "int"
ScNodeChild.SetAttributeNode NewAttribute
NewnodeChild.appendChild ScNodeChild

Set ScNodeChild = objDom.CreateElement("Field")
ScNodeChild.Text = "Title"
Set NewAttribute=objDom.CreateNode("attribute","Lable","")
NewAttribute.Text = "标题"
ScNodeChild.SetAttributeNode NewAttribute
Set NewAttribute=objDom.CreateNode("attribute","DataType","")
NewAttribute.Text = "varchar"
ScNodeChild.SetAttributeNode NewAttribute
Set NewAttribute=objDom.CreateNode("attribute","Len","")
NewAttribute.Text = "200"
ScNodeChild.SetAttributeNode NewAttribute

Set ScNodeChild = objDom.CreateElement("Field")
ScNodeChild.Text = "Content"
Set NewAttribute=objDom.CreateNode("attribute","Lable","")
NewAttribute.Text = "内容"
ScNodeChild.SetAttributeNode NewAttribute
Set NewAttribute=objDom.CreateNode("attribute","DataType","")
NewAttribute.Text = "text"
ScNodeChild.SetAttributeNode NewAttribute
NewnodeChild.appendChild ScNodeChild

Set ScNodeChild = objDom.CreateElement("Field")
ScNodeChild.Text = "PostDateTime"
Set NewAttribute=objDom.CreateNode("attribute","Lable","")
NewAttribute.Text = "发布时间"
ScNodeChild.SetAttributeNode NewAttribute
Set NewAttribute=objDom.CreateNode("attribute","DataType","")
NewAttribute.Text = "datetime"
ScNodeChild.SetAttributeNode NewAttribute
NewnodeChild.appendChild ScNodeChild

Set ScNodeChild = objDom.CreateElement("Field")
ScNodeChild.Text = "AddFile"
Set NewAttribute=objDom.CreateNode("attribute","Lable","")
NewAttribute.Text = "附件"
ScNodeChild.SetAttributeNode NewAttribute
Set NewAttribute=objDom.CreateNode("attribute","DataType","")
NewAttribute.Text = "text"
ScNodeChild.SetAttributeNode NewAttribute
NewnodeChild.appendChild ScNodeChild

Newnode.appendChild NewnodeChild
'END 数据表描述
'新增数据述
Set NewnodeChild=objDom.CreateElement("Add")
'END 新增数据述
 Sql = "select * from Demo where Status='新增'"
 rs.open Sql,conn,1,3
 do while not rs.eof
  Set ScNodeChild = objDom.CreateElement("List")
  Set TrNodeChild = objDom.CreateElement("ID")
  TrNodeChild.Text = rs("ID") 
  ScNodeChild.appendChild TrNodeChild
  Set TrNodeChild = objDom.CreateElement("Title")
  TrNodeChild.Text = Server.HtmlEncode(rs("Title"))
  ScNodeChild.appendChild TrNodeChild
  Set TrNodeChild = objDom.CreateElement("Content")
  TrNodeChild.Text = Server.HtmlEncode(rs("Content"))
  ScNodeChild.appendChild TrNodeChild
  Set TrNodeChild = objDom.CreateElement("PostDateTime")
  TrNodeChild.Text = rs("PostDateTime")
  ScNodeChild.appendChild TrNodeChild
  Set TrNodeChild = objDom.CreateElement("AddFile")
  if rs("AddFile") <> "" then
   Set NewAttribute=objDom.CreateNode("attribute","FileType","")
   NewAttribute.Text = rs("FileType")
   TrNodeChild.SetAttributeNode NewAttribute
   TrNodeChild.datatype = "bin.base64"
   TrNodeChild.nodeTypedvalue = LoadFile(rs("AddFile"))
  end if
  ScNodeChild.appendChild TrNodeChild
  NewnodeChild.appendChild ScNodeChild
 rs.movenext
 loop
 rs.close
 Newnode.appendChild NewnodeChild
'修改数据
 Set NewnodeChild=objDom.CreateElement("Edit")
 Sql = "select * from Demo where Status='修改'"
 rs.open Sql,conn,1,3
 do while not rs.eof
  Set ScNodeChild = objDom.CreateElement("List")
  Set TrNodeChild = objDom.CreateElement("KeyValue")  
  TrNodeChild.Text = rs("id")
  ScNodeChild.appendChild TrNodeChild
  Set FourNodeChild = objDom.CreateElement("Field")
  Set NewAttribute=objDom.CreateNode("attribute","FieldName","")
  NewAttribute.Text = "Title"
  FourNodeChild.SetAttributeNode NewAttribute    
  FourNodeChild.Text = Server.HtmlEncode(rs("Title")) 
  ScNodeChild.appendChild FourNodeChild   
  Set FourNodeChild = objDom.CreateElement("Field")
  Set NewAttribute=objDom.CreateNode("attribute","FieldName","")
  NewAttribute.Text = "Content"
  FourNodeChild.SetAttributeNode NewAttribute  
  FourNodeChild.Text = Server.HtmlEncode(rs("Content"))  
  ScNodeChild.appendChild FourNodeChild
  Set FourNodeChild = objDom.CreateElement("Field")
  Set NewAttribute=objDom.CreateNode("attribute","FieldName","")
  NewAttribute.Text = "AddFile"
  FourNodeChild.SetAttributeNode NewAttribute  
  if rs("AddFile") <> "" then
   Set NewAttribute=objDom.CreateNode("attribute","FileType","")
   NewAttribute.Text = rs("FileType")
   FourNodeChild.SetAttributeNode NewAttribute
   FourNodeChild.datatype = "bin.base64"
   FourNodeChild.nodeTypedvalue = LoadFile(rs("AddFile"))
  end if  
  ScNodeChild.appendChild FourNodeChild   
  NewnodeChild.appendChild ScNodeChild
 rs.movenext
 loop
 rs.close
 Newnode.appendChild NewnodeChild
'End 修改数据
'删除数据
 Set NewnodeChild=objDom.CreateElement("Delete")
 Set ScNodeChild = objDom.CreateElement("List")
 Sql = "select * from Demo where Status='删除'"
 rs.open Sql,conn,1,3
 do while not rs.eof
  Set TrNodeChild = objDom.CreateElement("KeyValue")  
  TrNodeChild.Text = rs("id")
  ScNodeChild.appendChild TrNodeChild  
 rs.movenext
 loop
 rs.close
 NewnodeChild.appendChild ScNodeChild
 Newnode.appendChild NewnodeChild
'End 删除数据
'objDom.appendChild Newnode
objDom.save(Server.MapPath("demo.xml"))
connClose 
Response.ContentType="application/xml"
Response.Write(objDom.xml)
'Response.Redirect("demo.xml")

%>

相关文章推荐

xml 文件创建和解析

  • 2013年10月28日 17:19
  • 12.9MB
  • 下载

Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea

创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bean的声明...
  • bestcxx
  • bestcxx
  • 2016年09月22日 15:14
  • 3659

使用 ACEXML 来解析一个 xml 文件

本段代码通过ACEXML来解析一个XML文件,并且生成了一棵树,树的存储采用孩子兄弟存储的方法。 在连接生成可执行文件的时候,连接一下文件: ACEd.lib ACEXMLd.lib ACEXML...

spring applicationContext.xml 文件中<context:component-scan/>使用详解

spring applicationContext.xml 文件中使用详解      1.在applicationContext.xml文件中配置了compon...

php下使用SimpleXML 处理XML 文件

本文为大家讲解的是php下使用SimpleXML 处理XML 文件的示例代码,感兴趣的同学参考下。 要处理XML 文件,有两种传统的处理思路:SAX 和DOM。 1 SimpleXML 简介 ...
  • hhkiss1
  • hhkiss1
  • 2015年01月09日 12:46
  • 178

python 学习笔记之 dom(xml 文件创建)

http://www.jb51.net/article/63504.htm

AJAX XML 实例 下面的例子将演示网页如何使用 AJAX 来读取来自 XML 文件的信息:

实例解释 - loadXMLDoc() 函数 当用户点击上面的“获得 CD 信息”这个按钮,就会执行 loadXMLDoc() 函数。 loadXMLDoc() 函数创建 XMLHttpReq...

jdom jar 包 解析xml 文件

  • 2014年05月08日 19:50
  • 148KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用 Asp 创建 XML 文件
举报原因:
原因补充:

(最多只允许输入30个字)