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>