ASP操作xml--修改xml文件中的节点
2024-09-05 20:55:40
供稿:网友
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 修改xml内容 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<!--#include file="top.asp"-->
<%
id=request("id")
if IsNumeric(id)=false or isNull(id) then
response.write ("参数不正确,请返回!")
response.end
end if
addok=request("addok")
If addok="" Or IsNull(addok) then
strSourceFile = Server.MapPath("./") & "/test.xml"
'获取XML文件的路径这里根据你的虚拟目录不同而不同
Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
'以自由线程创建一个XML对像
objXML.load(strSourceFile)'把XML文件读入内存
Set objRootsite = objXML.documentElement.selectSingleNode("root")
id=objRootsite.childNodes.item(id).childNodes.item(0).text
site=objRootsite.childNodes.item(id).childNodes.item(1).text
url=objRootsite.childNodes.item(id).childNodes.item(2).text
%>
<form name="form1" method="post" action="?addok=edit&id=<%=id%>">
网站名:<input type="text" name="site" value="<%=site%>" size="30">
网 址:<input type="text" name="url" value="<%=url%>" size="40">
<input type="submit" value="修改"> <input type="reset" value="重置">
</form>
<%
End If
If addok="edit" Then
site=request("site")
url=request("url")
strSourceFile = Server.MapPath("./") & "/test.xml"
'获取XML文件的路径这里根据你的虚拟目录不同而不同
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
'创建XML对像
objXML.load(strSourceFile)
'把XML文件读入内存中
Set objRootlist = objXML.documentElement.selectSingleNode("root")
set rootOldNode=objRootlist.childNodes.item(id)
brstr=chr(13)&chr(10)&chr(9)
XMLnode=brstr&"<list>"&vbnewline & _
"<id>"&id&"</id>"&vbnewline & _
"<name>"&site&"</name>"&vbnewline & _
"<url>"&url&"</url>"&vbnewline & _
"<time>"&Replace(Replace(Now(),"上午 ",""),"下午 ","")&"</time>"&vbnewline & _
"</list>"&vbnewline&vbnewline
'根据得到的数据建立XML片段
set objXML2=Server.CreateObject("Microsoft.XMLDOM")
'建立一个新XML对像
objXML2.loadXML(XMLnode)
'把XML版片段读入内存中
set rootNewNode=objXML2.documentElement
'获得objXML2的根节点
objRootlist.ReplaceChild rootNewNode,rootOldNode
'修改test.xml
objXML.save(strSourceFile)
'存储test.xml文件(因为不存储test.xml只在内存中更新了)
set objXML=nothing
set objXML2=nothing
Response.Redirect("index.asp")
response.end
End if
%>
</BODY>
</HTML>