技术开发 频道

ASP操作XML文件的方法和实现

【IT168 技术文档】

  ASP通过XMLDom在服务器端操作XML文件的主要方法和实现
  对于小数据量,xml文件在检索更新上于ACCESS有很多优势。

  我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了,不过没有作测试,不能确定。

  下面说一下创建,查询,修改等对xml操作的主要方法

  '创建DOM对象
  set objDom=server.CreateObject("MicroSoft.XMLDom")

  '取得xml数据
  '方法1 取得xml文件的xml数据
  objDom.load("c:\test.xml")
  '方法2 取得xml数据串的数据
  objDom.loadxml("<people><man name="sd"/></people>")

  '创建一个节点对象
  Set Newnode=objDom.CreateElement("people")
  '给这个节点赴值
  Newnode.Text="人"
  ' 给这个节点添加属性
  Set NewAttribute=objDom.CreateNode("attribute","name","")
  NewAttribute.Text= "张三"
  Newnode.SetAttributeNode NewAttribute

  '给这个节点添加子节点
  Set NewnodeChild=objDom.CreateElement("address")
  Newnode.appendChild NewnodeChild
  '保存这个节点对象
  objDom.appendChild Newnode
  objDom.save("c:\test.xml")

  '查找一个节点对象
  set objtofind=objdom.documentElement.SelectSingleNode("//people/man")
  '取出这个节点对象的 节点名,节点值,某个属性值,和全部的xml
  nodename=objtofind.nodename
  nodevalue=objtofind.text
  objtofind.GetAttributeNode("name").Nodevalue '属性名为name的属性值

  '取出一个属性节点对象
  set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name")
  '取出这个节点的属性名,属性值
  nodeattrname=objattrtofind.nodename
  nodeattrvalue=objattrtofind.nodevalue

  '删除一个节点对象
  set objnode=objdom.documentElement.SelectSingleNode("//people/man") '要删除的节点
  set objparentnode=objdom.documentElement.SelectSingleNode("//people") '要删除的节点的父节点
  objparentnode.removeChild objnode

  '取出一个节点的字节点集合
  set objnodes=objdom.documentElement.SelectSingleNode("//people/man").ChildNodes
  遍历这个集合

  方法1
  for each element in objnodes
  response.write element.nodename 字节点名
  response.write element.text 字节点值
  next

  方法2
  domlength=objnodes.length
  for i = 0 to domlength-1
  response.write objnodes.childnodes(i).nodename 字节点名
  response.write objnodes.childnodes(i).text 字节点值
  next

  '取出一个节点的属性集合
  set objnodes=objdom.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes
  遍历这个集合
  for each element in objnodes
  response.write element.nodename 属性名
  response.write element.nodevalue 属性值
  next

  等能够熟练的运用xmldom对象来操作xml文件了,就可以享
  受xmlhttp对象来实现asp下的许多功能了。

0
相关文章