ASP操作xml--向xml檔案中的添加節點

來源:互聯網
上載者:User

<!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="">
  <style>
  body {font-size:12px;}
  </style>
 </HEAD>

 <BODY>
 <!--#include file="top.asp"-->
 <%
 addok=request("addok")
 If addok="" Or IsNull(addok) Then
 %>
  <form name="form1" method="post" action="?addok=add">
  網站名:<input type="text" name="site" size="30" >

  網  址:<input type="text" name="url" size="40">

  <input type="submit" value="提交"> <input type="reset" value="重設">
  </form>
 <% 
 End If
 If addok="add" 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")
'選取<root>節點
if objRootlist.hasChildNodes then
'判斷<NewList>是否有子節點(因為如果是每一次<root>是沒有子節點的, 如果不加判斷在第一次運得時就會報錯
id = objRootlist.lastchild.firstchild.text+1
'這裡獲得將要插入子節點的ID號,其ID號為<root>的最後一個子節點(lastchild)的第一個子節點(firstchild)
'的ID號加1(這裡我們按照關係型資料庫的ID號來遞增)
else
'如是沒有字子節點則是第一次留言ID號設為1
id=1
end If
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.appendChild(rootNewNode)
'把XML片段插入到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>

test.xml中的內容是
<?xml version="1.0" encoding="gb2312"?>
<site>
 <root>
   <list>
    <id>0</id>
    <name>新浪</name>
    <url>http://www.sina.com.cn</url>
    <time>2007-11-1 10:10:10</time>
  </list>
 </root>
</site>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.