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下的许多功能了。 (责任编辑:admin) |