隨筆 - 8  文章 - 55  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          朋友的Blog

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          *****************************
          ** ASP操作XML數(shù)據(jù)
          ** Author:caca
          ** qq:154222225
          ** Mail:root@3ney.com
          ** 2003.11.21@zzu
          ******************************

          NO.1--建立一個(gè)XML數(shù)據(jù)庫data.xml
          <?xml version="1.0"?>
          <records>
          <record>
          <name>caca</name>
          <qq>154222225</qq>
          <email>root@3ney.com</email>
          </record>
          <records>
          NO.2--建立對(duì)象CreateObject
          建立data.xml的對(duì)象先
          set xmldoc=server.createobjcet("microsoft.xmldom")
          xmldoc.load(server.mappath("data.xml")

          NO.3--選定節(jié)點(diǎn)SelectNode
          你想操作哪個(gè)Node,必須定位到這個(gè)節(jié)點(diǎn)是不是,先看看這個(gè)data.xml有幾個(gè)Node??
          用一個(gè)遞歸函數(shù)搞定:
          getnodes(xmldoc)

          sub getnodes(node)
          dim i
          response.write("<br>NodeName:"&node.nodename&"<br>NodeTypeString:"&node.nodetypestring&"<br>NodeValue:"&node.nodevalue&"<br>Text:"&node.text&"<br>node.childnodes.length:"&node.childnodes.length&"<p>")

          if node.childnodes.length<>0 then
          for i=0 to node.childnodes.length-1
          getnodes(node.childnodes(i))
          next
          end if
          end sub
          用這個(gè)函數(shù)后,可以看到這個(gè)data.xml有10個(gè)Node
          這些Node可以很簡單的定位:
          xmldoc
          xmldoc.childnodes(0)
          xmldoc.childnodes(1)
          xmldoc.childnodes(1).childnodes(0)
          xmldoc.childnodes(1).childnodes(0).childnodes(0)
          xmldoc.childnodes(1).childnodes(0).childnodes(0).text
          xmldoc.childnodes(1).childnodes(0).childnodes(1)
          xmldoc.childnodes(1).childnodes(0).childnodes(1).text
          xmldoc.childnodes(1).childnodes(0).childnodes(2)
          xmldoc.childnodes(1).childnodes(0).childnodes(2).text
          是不是定位很簡單呀,還有個(gè)方法,比如定位<name>
          xmldoc.selectsinglenode("http://name")

          NO.4--給節(jié)點(diǎn)賦值(修改節(jié)點(diǎn)的值)
          學(xué)會(huì)了定位節(jié)點(diǎn),利用其屬性,就可以修改或者賦值了
          例如,把<name>的值caca改為wawa
          xmldoc.selectsinglenode("http://name").text="wawa"
          xmldoc.save(server.mappath("data.xml"))
          搞定!
          NO.5--創(chuàng)建新的節(jié)點(diǎn)CreatenewNode
          用createelement或者createnode("","","")
          例如:在record下新建個(gè)<age>,只需要一句就搞定:
          xmldoc.selectsinglenode("http://record").appendchild(xmldoc.createelement("<age>"))
          給<age>賦值
          xmldoc.selectsinglenode("http://age").text="20"
          xmldoc.save(server.mappath("data.xml"))
          搞定!
          NO.6--刪除一個(gè)節(jié)點(diǎn)DeleteNode
          你必須明確你想刪除的這個(gè)節(jié)點(diǎn)的父節(jié)點(diǎn),以及這個(gè)節(jié)點(diǎn)的特征
          例如:刪除<qq>節(jié)點(diǎn)
          xmldoc.selectsinglenode("http://record").removechild(xmldoc.selectsinglenode("http://qq"))
          例如:刪除那個(gè)<name>=caca的<record>
          xmldoc.selectsinglenode("http://records").removechild(xmldoc.selectsinglenode("http://record[name='caca']))
          xmldoc.save(server.mappath("data.xml"))
          搞定!
          只有能熟練這6條code,用asp控制xml數(shù)據(jù)庫,也就差不多了...
          等兩天寫個(gè)XML留言本子來也不是很復(fù)雜的(以前用vbs寫的,可以查詢,可以到
          http://www2.zzu.edu.cn/ie/dvbbs 看看).
          posted on 2006-06-12 10:05 blog搬家了--[www.ialway.com/blog] 閱讀(450) 評(píng)論(0)  編輯  收藏 所屬分類: PHP
          主站蜘蛛池模板: 麟游县| 凤山县| 武乡县| 广汉市| 台江县| 饶平县| 闽侯县| 始兴县| 奎屯市| 伊金霍洛旗| 邢台县| 宁波市| 洞头县| 建始县| 湖南省| 公安县| 德兴市| 同江市| 青田县| 密山市| 鸡泽县| 蒲城县| 蓬安县| 随州市| 潞城市| 嵩明县| 昌乐县| 墨江| 普安县| 泸定县| 五大连池市| 旬邑县| 始兴县| 江城| 宁海县| 新宁县| 论坛| 沂南县| 比如县| 股票| 竹北市|