我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了。 测试页面:http://www.xfok.com/test/xmlvsdb/test.asp 下面说一下创建,查询,修改等对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 node&#118alue=objtofind.text objtofind.GetAttributeNode("name").Node&#118alue '属性名为name的属性值 '取出一个属性节点对象 set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name") '取出这个节点的属性名,属性值 nodeattrname=objattrtofind.nodename nodeattr&#118alue=objattrtofind.node&#118alue '删除一个节点对象 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.node&#118alue 属性值 next 等能够熟练的运用xmldom对象来操作xml文件了,就可以享受xmlhttp对象来实现asp下的许多功能了。 |