Asp+Access+Sql 开发 -爬坡者

通过asp实例代码结合常用Asp例子来更好的深入Asp学习

« 多种连接的比较代码(内连接,左连接,右连接,外连接)在js里操作DOM树 »

asp对XML文件的基本操作总结--读取/修改/删除

ASP页面:
<%@language=vbscript CodePage=936 %>
<%
Option Explicit
Response.Buffer=True  

'建立与XML数据库的连接
Dim objDOM,cNode,Maxlbid ,db,i,score
set objDOM=Server.CreateObject("Microsoft.XMLDOM")
objDOM.async=false
db=Server.MapPath("test.xml")
objDOM.load(db)
set cNode = objDOM.documentElement.selectSingleNode("/UserTest")

'--------------------------------------
'载入XML文件后,以后是实现各个功能,已经添加了注释,用到哪个功能的时候,找找相关语句即可
'-----------------------------------------


'取得XML文件里的记录的数目可以用cNode.childNodes.length
'Maxlbid = cNode.childNodes.length - 1

'取得XML文件里的根元素的属性可以用cNode.getAttribute("相关属性")
'Response.write cNode.getAttribute("subject")

'取得XML文件子结点的某个属性
'score = cNode.childNodes.item(Maxlbid-i).getAttribute("score")

'取得XML文件子结点的个数
'Response.Write cNode.childNodes.item(0).childNodes.length

'搜索子结点
Dim SearchChildNote
set SearchChildNote = objDOM.selectnodes("//Test")

'依次遍历子结点,取得其某个属性的值
'for i = 0 to Maxlbid
'Response.Write SearchChildNote.item(i).selectsinglenode("Question").text & "<br>"
'next

'检查XML文件的有效性

if objDOM.parseError.ErrorCode<>0 Then
objDOM.loadXML"<?xml version=""1.0"" encoding=""gb2312""?><!--XBOOK2数据文件--><UserTest></UserTest>"
end if

'添加新的子结点,并给子结点的属性赋值
'注意事项:newNote与newNode是不同的,note是标记的意思,node是结点的意思,用的时候,将FUNCTION去了就行,反正大家都明白了,ASP定义的函数
Function AddChildNode
Dim newNote,newNode
set newNote=cNode.AppendChild(objDOM.createElement("Test"))
  newNote.setAttribute "score" , 100
  
  '给子结点再添加新的子结点并赋值
  set newNode=newNote.AppendChild(objDOM.createElement("Id"))
   newNode.text = "东奔西走"
  set newNode=newNote.AppendChild(objDOM.createElement("Question"))
   newNode.text = "东奔西走11"
objDOM.save(db)
End function

'查找结点中某个属性值为指定值的语句
'set cNode = objDOM.documentElement.selectSingleNode("/xdata/feed[@ntid='"+id+"']")

'修改某个结点中某个值的内容
Dim oldNode
set oldNode = objDOM.documentElement.selectSingleNode("/UserTest/Test[@score=5]")
'用这种方法可以取得其值,按指定的条件查找 Response.Write oldNode.selectsinglenode("Question").text
oldNode.selectsinglenode("Question").text = "我就修改你怎么着~!!"
objDOM.save(db)

'删除某个结点
'cNode.RemoveChild oNode

%>
test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<UserTest subject="第一章的测试题">
<Test score="1">
  <Id>1</Id>
  <Question>1+1=?</Question>
</Test>
<Test score="3">
  <Id>2</Id>
  <Question>中国的首都是哪?</Question>
</Test>
<Test score="5">
  <Id>3</Id>
  <Question>我就修改你怎么着~!!</Question>
</Test>
<Test score="100">
  <Id>东奔西走</Id>
  <Question>东奔西走11</Question>
</Test>
</UserTest>

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog Z-Blog 1.8 RC Build 80201

Copyright 2007-2008 papozhe.com [asp代码BLOG] All Rights Reserved.
浙ICP备07030537号
免责申明:本BLOG所有文章除特别声明,均来自网上,主要为学习用!内容仅供参考,版权归原作者。如侵犯您利益,请来信说明,我们立即删除或注明版权