以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  转载:ASP通过XMLDom在服务器端操作XML文件的主要方法和实现  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=5391)


--  作者:小鞋子
--  发布时间:2/17/2004 4:20:00 PM

--  转载:ASP通过XMLDom在服务器端操作XML文件的主要方法和实现
载自:http://www.cnado.com

ASP通过XMLDom在服务器端操作XML文件的主要方法和实现

对于小数据量,xml文件在检索更新上于ACCESS有很多优势。

我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了,不过没有作测试,不能确定。(http://stone.yesku.net)

下面说一下创建,查询,修改等对xml操作的主要方法

'创建DOM对象
set objDom=server.CreateObject("MicroSoft.XMLDom")

'取得xml数据
'方法1 取得xml文件的xml数据
objDom.load("c:\test.xml")
'方法2 取得xml数据串的数据
objDom.loadxml("<people><man name="sd"/></people>")

'创建一个节点对象
Set Newnode=objDom.CreateElement("people")
'给这个节点赴值
Newnode.Text="人"
' 给这个节点添加属性
Set NewAttribute=objDom.CreateNode("attribute","name","")
NewAttribute.Text= "张三"
Newnode.SetAttributeNode NewAttribute
'给这个节点添加子节点
Set NewnodeChild=objDom.CreateElement("address")
Newnode.appendChild NewnodeChild
'保存这个节点对象
objDom.appendChild Newnode
objDom.save("c:\test.xml")

'查找一个节点对象
set objtofind=objdom.documentElement.SelectSingleNode("//people/man")
'取出这个节点对象的 节点名,节点值,某个属性值,和全部的xml
nodename=objtofind.nodename
nodevalue=objtofind.text
objtofind.GetAttributeNode("name").Nodevalue '属性名为name的属性值

'取出一个属性节点对象
set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name")
'取出这个节点的属性名,属性值
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue

'删除一个节点对象
set objnode=objdom.documentElement.SelectSingleNode("//people/man") '要删除的节点
set objparentnode=objdom.documentElement.SelectSingleNode("//people") '要删除的节点的父节点
objparentnode.removeChild objnode

'取出一个节点的字节点集合
set objnodes=objdom.documentElement.SelectSingleNode("//people/man").ChildNodes
遍历这个集合
方法1
for each element in objnodes
response.write element.nodename 字节点名
response.write element.text 字节点值
next
方法2
domlength=objnodes.length
for i = 0 to domlength-1
response.write objnodes.childnodes(i).nodename 字节点名
response.write objnodes.childnodes(i).text 字节点值
next

'取出一个节点的属性集合
set objnodes=objdom.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes
遍历这个集合
for each element in objnodes
response.write element.nodename 属性名
response.write element.nodevalue 属性值
next

等能够熟练的运用xmldom对象来操作xml文件了,就可以享受xmlhttp对象来实现asp下的许多功能了。


--  作者:admin
--  发布时间:2/17/2004 4:24:00 PM

--  
good!
加入精华..
--  作者:小鞋子
--  发布时间:2/17/2004 4:33:00 PM

--  
:)呵。
--  作者:hyandlsz
--  发布时间:3/31/2004 9:55:00 AM

--  
我喜欢!谢谢!
--  作者:chensir2008
--  发布时间:1/12/2005 10:45:00 AM

--  
good good study, day day up!!
--  作者:anchen0617
--  发布时间:1/12/2005 1:06:00 PM

--  
俺先看了,真是好东西啊
--  作者:BaSaRa
--  发布时间:1/15/2005 12:59:00 PM

--  
绝对精华!
--  作者:txpcool
--  发布时间:1/25/2005 1:03:00 PM

--  
支持
--  作者:small
--  发布时间:2/6/2005 8:23:00 PM

--  
好帖
--  作者:simon1118
--  发布时间:3/4/2005 11:54:00 AM

--  
顶顶!
--  作者:dos_119
--  发布时间:3/22/2005 11:35:00 AM

--  
cool
--  作者:whwyw
--  发布时间:3/27/2005 8:55:00 PM

--  
看不懂啊!!!怎么把我的HTML转化成XML啊?
--  作者:garfield61
--  发布时间:4/2/2005 11:57:00 AM

--  
好贴人人喜欢
--  作者:屋檐下的鸟
--  发布时间:4/8/2005 8:38:00 AM

--  
ok.thanks
--  作者:huayicai
--  发布时间:4/26/2005 3:57:00 PM

--  
好帖,值得学习~~
--  作者:anzhaoting
--  发布时间:5/13/2005 1:47:00 PM

--  
好东东  ding
--  作者:anzhaoting
--  发布时间:5/13/2005 1:48:00 PM

--  

--  作者:fengzhiyi
--  发布时间:5/28/2005 11:31:00 AM

--  
很好啊
--  作者:jinghe41
--  发布时间:5/28/2005 1:52:00 PM

--  
东西不错哦!
如果能举个例子就更好了!
--  作者:jason_0313121
--  发布时间:5/28/2005 4:24:00 PM

--  

--  作者:cwz
--  发布时间:5/28/2005 7:32:00 PM

--  

--  作者:d_hao20@ustc.edu
--  发布时间:6/1/2005 12:52:00 PM

--  
以下是引用admin在2004-2-17 16:24:18的发言:
good!
加入精华..

不错,


--  作者:tmxk
--  发布时间:6/4/2005 6:54:00 PM

--  
只要什XML就比我强呀,呵呵

--  作者:hacken
--  发布时间:6/9/2005 9:52:00 AM

--  
谢过
这是我找了很久的帖!
--  作者:JacobZhang
--  发布时间:9/9/2005 5:25:00 PM

--  
那么上面的这段代码应该写在哪里啊?
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
93.750ms