asp操作xml,添加新的子節點和屬性

來源:互聯網
上載者:User
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>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.