ASP操作xml--修改xml文件中的節(jié)點
2024-09-05 20:55:40
供稿:網(wǎng)友
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 修改xml內(nèi)容 </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 ("參數(shù)不正確,請返回!")
response.end
end if
addok=request("addok")
If addok="" Or IsNull(addok) then
strSourceFile = Server.MapPath("./") & "/test.xml"
'獲取XML文件的路徑這里根據(jù)你的虛擬目錄不同而不同
Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
'以自由線程創(chuàng)建一個XML對像
objXML.load(strSourceFile)'把XML文件讀入內(nèi)存
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%>">
網(wǎng)站名:<input type="text" name="site" value="<%=site%>" size="30">
網(wǎng) 址:<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文件的路徑這里根據(jù)你的虛擬目錄不同而不同
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
'創(chuàng)建XML對像
objXML.load(strSourceFile)
'把XML文件讀入內(nèi)存中
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
'根據(jù)得到的數(shù)據(jù)建立XML片段
set objXML2=Server.CreateObject("Microsoft.XMLDOM")
'建立一個新XML對像
objXML2.loadXML(XMLnode)
'把XML版片段讀入內(nèi)存中
set rootNewNode=objXML2.documentElement
'獲得objXML2的根節(jié)點
objRootlist.ReplaceChild rootNewNode,rootOldNode
'修改test.xml
objXML.save(strSourceFile)
'存儲test.xml文件(因為不存儲test.xml只在內(nèi)存中更新了)
set objXML=nothing
set objXML2=nothing
Response.Redirect("index.asp")
response.end
End if
%>
</BODY>
</HTML>