当前位置:编程技术网 > 技术文章 > .net框架使用技巧 及 C#基础知识 > 文章详细内容

asp中使用DOM操作XML文件

今天碰到一个问题 , 是在原有的asp系统中导入传过来的xml数据文件。

当然我们首先想到的编程操作XML的技术就是DOM(document object model)。在各种编程语言中都有实现,asp当然也不例外。

为了实现这个效果,我翻出来很早的一个Demo代码。

是在讲授xml课程的时候写的,一个仅仅是在用asp代码操作xml的程序,今天也发到网上供大家日后参考。


首先来看一下我们要操作的XML文件的格式(当然大家一看就知道这个是一个用xml到数据存储载体的简洁的留言板):
<?xml version="1.0" encoding="GB2312" ?>
<msgList>
 <msg Id="{FC71844D-BACD-4965-A6E2-07E09400CDE2}">
  <name>小科</name>
  <content>hello,我来了,给你们说个悄悄话!</content>
  <time>2006-3-1 23:09:33</time>
 </msg>
 <msg Id="{388F64C7-C249-4C56-B6D4-EA7A6EA65422}">
  <name>小丽</name>
  <content>说撒,怎么还不说呢。</content>
  <time>2006-3-1 23:09:42</time>
 </msg>
</msgList>

向此XML文件增加节点的核心代码:
set xmldoc = server.CreateObject("Microsoft.XMLDOM")
xmldoc.Load(server.MapPath("db.xml"))

if xmldoc.parseError.ErrorCode <> 0 then
 response.Write("<script>alert('System Err!');history.go(-1);</script>")
 response.End()
end if

set msgNode = xmldoc.CreateElement("msg")

set nameNode = xmldoc.CreateElement("name")
nameNode.text = tbName

set contentNode = xmldoc.CreateElement("content")
contentNode.text = tbContent

set timeNode = xmldoc.CreateElement("time")
timeNode.text = now

msgNode.appendChild(nameNode)
msgNode.appendChild(contentNode)
msgNode.appendChild(timeNode)

set att = xmldoc.CreateAttribute("Id")
'下面的代码是在asp中生成一个 GUID 的字符串
Set objTypeLib = CreateObject("Scriptlet.TypeLib")
att.text = objTypeLib.Guid
msgNode.attributes.SetNamedItem(att)

xmldoc.documentElement.appendChild(msgNode)
xmldoc.save(server.MapPath("db.xml"))
set xmldoc = nothing

当然还有显示, 删除的代码,都copy上来过于麻烦, 还是将代码打包传上来大家down。

点击下载 作者|来源:原创(17fx.net)发表于:2008-12-30 21:44:18
上一篇 没有了