books.asp
<%
''创建一个xml的对象
set objXmlDom=server.CreateObject("Microsoft.XMLDOM")
''指定XML文件的下载是否与XML的处理异步进行
objXmlDom.async = false
''获得xml文件的目录与文件名,这里是虚拟目录
fileStr = Server.MapPath("./") & "/books.xml"
''加载xml文件
objXmlDom.load(fileStr)
''得到子节点的长度
''NodesLength=objXmlDom.DocumentElement.ChildNodes.Length
''response.Write(NodesLength&"<br>")
'获得父节点的对象
set parentNodes=objXmlDom.DocumentElement
'得到子节点的长度
childNodesLength=parentNodes.ChildNodes.Length
'输出子节点的长度
response.Write("子节点数:"&parentNodes.ChildNodes.Length)
response.Write("<br>")
'遍历子节点的属性和节点
for i=0 to childNodesLength-1
set objChile=parentNodes.ChildNodes(i)
response.Write(i+1&": bookID="&objChile.GetAttribute("id"))
response.Write(",sortID="&objChile.GetAttribute("sortID"))
response.Write(", title="&objChile.selectSingleNode("title").text)
response.Write(",author="&objChile.selectSingleNode("author").text&"<br>")
next
''==添加子节点
'得到根结点的一个对象
Set objSortlist = objXmlDom.documentElement.selectSingleNode("//books")
''判断是否有子节点,
if objSortlist.hasChildNodes then
''如果有子节点,那么得到最后一个子节点的名称为id的属性值,将此值加1作为新的子节点的id的值
id = objSortlist.lastchild.GetAttribute("id")+1
'根据xml文件的结构不同,取不同的值
''id = objSortlist.lastchild.firstchild.text+1
else
''否则id就等于1
id=1
end If
''输出的值
''response.Write(id)
''设置子节点的sortID的值
sID="a"&id
''设置子节点的title节点的的值
title="booktitle"
''换行符
brstr=chr(10)&chr(9)
''编辑新的节点内容
newXMLNode=brstr&"<book id="""&id&""" sortID="""&sID&""">"&vbnewline & _
"<title>"&title&"</title>"&vbnewline & _
"<author>author"&id&"</author>"&vbnewline & _
"</book>"&vbnewline&vbnewline
''创建新的xml对象
set objNewXml=Server.CreateObject("Microsoft.XMLDOM")
''加载新的节点内容到内存中
objNewXml.loadXML(newXMLNode)
''获得objNewXml对象的根结点
set rootNewNode=objNewXml.documentElement
''把新的节点片段加到xml文件中
objSortlist.appendChild(rootNewNode)
''保存xml文件
objXmlDom.save(fileStr)
set objXmlDom=nothing
set objNewXml=nothing
%>
'页面刷新即可添加一新的节点
books.xml
<?xml version="1.0" encoding="gb2312"?>
<books>
<book id="0001" sortID="a1">
<title>asp</title>
<author>aa</author>
</book>
<book id="0002" sortID="b3">
<title>jsp</title>
<author>bbb</author>
</book>
</books>
<%
''创建一个xml的对象
set objXmlDom=server.CreateObject("Microsoft.XMLDOM")
''指定XML文件的下载是否与XML的处理异步进行
objXmlDom.async = false
''获得xml文件的目录与文件名,这里是虚拟目录
fileStr = Server.MapPath("./") & "/books.xml"
''加载xml文件
objXmlDom.load(fileStr)
''得到子节点的长度
''NodesLength=objXmlDom.DocumentElement.ChildNodes.Length
''response.Write(NodesLength&"<br>")
'获得父节点的对象
set parentNodes=objXmlDom.DocumentElement
'得到子节点的长度
childNodesLength=parentNodes.ChildNodes.Length
'输出子节点的长度
response.Write("子节点数:"&parentNodes.ChildNodes.Length)
response.Write("<br>")
'遍历子节点的属性和节点
for i=0 to childNodesLength-1
set objChile=parentNodes.ChildNodes(i)
response.Write(i+1&": bookID="&objChile.GetAttribute("id"))
response.Write(",sortID="&objChile.GetAttribute("sortID"))
response.Write(", title="&objChile.selectSingleNode("title").text)
response.Write(",author="&objChile.selectSingleNode("author").text&"<br>")
next
''==添加子节点
'得到根结点的一个对象
Set objSortlist = objXmlDom.documentElement.selectSingleNode("//books")
''判断是否有子节点,
if objSortlist.hasChildNodes then
''如果有子节点,那么得到最后一个子节点的名称为id的属性值,将此值加1作为新的子节点的id的值
id = objSortlist.lastchild.GetAttribute("id")+1
'根据xml文件的结构不同,取不同的值
''id = objSortlist.lastchild.firstchild.text+1
else
''否则id就等于1
id=1
end If
''输出的值
''response.Write(id)
''设置子节点的sortID的值
sID="a"&id
''设置子节点的title节点的的值
title="booktitle"
''换行符
brstr=chr(10)&chr(9)
''编辑新的节点内容
newXMLNode=brstr&"<book id="""&id&""" sortID="""&sID&""">"&vbnewline & _
"<title>"&title&"</title>"&vbnewline & _
"<author>author"&id&"</author>"&vbnewline & _
"</book>"&vbnewline&vbnewline
''创建新的xml对象
set objNewXml=Server.CreateObject("Microsoft.XMLDOM")
''加载新的节点内容到内存中
objNewXml.loadXML(newXMLNode)
''获得objNewXml对象的根结点
set rootNewNode=objNewXml.documentElement
''把新的节点片段加到xml文件中
objSortlist.appendChild(rootNewNode)
''保存xml文件
objXmlDom.save(fileStr)
set objXmlDom=nothing
set objNewXml=nothing
%>
'页面刷新即可添加一新的节点
books.xml
<?xml version="1.0" encoding="gb2312"?>
<books>
<book id="0001" sortID="a1">
<title>asp</title>
<author>aa</author>
</book>
<book id="0002" sortID="b3">
<title>jsp</title>
<author>bbb</author>
</book>
</books>