使用 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")

%>

asp生成xml文件

  • maskice
  • maskice
  • 2015年11月24日 11:56
  • 726

asp 创建和读取xml文件

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We...
  • lz37025
  • lz37025
  • 2017年01月06日 11:51
  • 811

asp动态生成xml

  • quweiie
  • quweiie
  • 2012年11月13日 21:03
  • 3596

asp xmlHttp用法举例

一般来说,我们做网站,数据都是在我们自己的数据库中的,但有些数据,我们不想也不能自己去收集数据,比如新闻\天气预报,(我们无法天天更新),所以我们就需要借助别人的网站来显示这些内容 。但如果直接链接到...
  • chinaPhoneLab
  • chinaPhoneLab
  • 2007年03月15日 17:28
  • 5562

asp读写xml(有用,保存在自己博客中以后就不用去找了)

asp读写xml由于XML(可扩展标记语言:eXtensible Markup Language)真正的平台无关性,它正在逐渐成为数据传输的主要介质。XML是一种自描述的语言,数据本身就已经包含了元数...
  • fangfeng335
  • fangfeng335
  • 2010年03月10日 20:13
  • 1298

asp 遍历xml各节点内容

books.asp创建一个xml的对象set objXmlDom=server.CreateObject("Microsoft.XMLDOM")指定XML文件的下载是否与XML的处理异步进行objXm...
  • lifeng_beijing
  • lifeng_beijing
  • 2007年12月25日 13:13
  • 2627

asp 修改xml文件节点内容

editBook.asp1 传入参数id是所修改节点在xml文件中的下标位置时的修改方法 id=request("id") if IsNumeric(id)=false or isNull(id) t...
  • lifeng_beijing
  • lifeng_beijing
  • 2007年12月25日 13:10
  • 2487

Asp 解析 XML并分页显示

Asp 解析 XML并分页显示
  • yimiyuangguang
  • yimiyuangguang
  • 2014年05月14日 01:10
  • 1529

asp 遍历xml

 遍历XML文档 对于下面的一段XML代码: XML文档实例books.xml,如下所示:破破XML入门坏坏XML提高我们已经可以创建XML文档对象,并加载XML文档了。对于已经加载的文档,我们要从文...
  • springfeng2008
  • springfeng2008
  • 2009年02月16日 10:06
  • 1990

四、ASP文件的基本格式及新建方法

1、 :ASP文件和HTML文件很相似,都包含有HTML标签,不同的是ASP文件中还包含有服务器端脚本代码。ASP用“”来表示服务器端脚本的结束。 2、ASP中的注释 ASP中注释写法与V...
  • u011924274
  • u011924274
  • 2016年09月08日 07:43
  • 1685
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用 Asp 创建 XML 文件
举报原因:
原因补充:

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