当前位置:K88软件开发文章中心编程语言XmlXml01 → 文章内容

ASP通过XMLDom在服务器端操作XML文件

减小字体 增大字体 作者:佚名     来源:asp编程网  发布时间:2018-12-30 9:25:54

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


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


下面说一下创建,查询,修改等对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 



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 


ASP通过XMLDom在服务器端操作XML文件