ASP XMLDom在服务器端操作XML文件的主要方法和实现(2)
来源:asp之家 时间:2011-03-09 11:09:00
只有能熟练这6条code,用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
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下的许多功能了。
虽然asp只能简单的操作XML文件,可是对于一般程序开发者来说就已经足够。
之前,XML语言非常的少接触,后来慢慢的,发觉XML在存储数据上有很多的方便。虽然安全性不好(个人认为),可是对于一般的数据存储的确 是一个非常不错的选择。
今天因为在一个网站上需要用到XML,我在这里就做一些总结(后期将会用到):
首先,先整理ASP读取XML文件
default.asp的代码
<%
dim node,i,nodecount
set Doc = CreateObject("Microsoft.XMLDOM")
Doc.async = false
Doc.load(Server.MapPath("data.xml"))
set root = Doc.documentElement
set nodeLis = root.childNodes
nodeCount = nodeLis.length
For i=1 to nodeCount
set node = nodeLis.nextNode()
set cost = node.attributes.getNamedItem("cost")
%>
第 <%=i%> 条记录:
<table width="50%" border="1">
<tr>
<td width="43" rowspan="2"><img src="<%=node.selectSingleNode("img").text%>"/></td>
<td width="46">书名</td>
<td width="48">出版社</td>
<td width="42">价格</td>
</tr>
<tr>
<td>
<%=node.selectSingleNode("name").text%>
</td>
<td>
<%=node.selectSingleNode("publisher").text%>
</td>
<td>
<%= cost.text%>
</td>
</tr>
</table>
<%
Next
%>
接下来就是Data.xml数据内容
<?xml version="1.0" encoding="UTF-8"?>
<data>
<book cost="56">
<name>Dreamweaver</name>
<publisher>词典网</publisher>
<img>img/dw.jpg</img>
</book>
<book cost="62">
<name>Flash</name>
<publisher>asp之家</publisher>
<img>img/flash.jpg</img>
</book>
<book cost="48">
<name>Firweorks</name>
<publisher>www.cidianwang.com</publisher>
<img>img/fw.jpg</img>
</book>
</data>
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
使用css2.1实现多重背景、多重边框效果[译]
![](https://img.aspxhome.com/file/UploadPic/20108/23/css2-multiple-background-border-model-12s.png)
Asp操作Xml的精炼类,含示例代码
如何在独立服务器上创建用户?
一个小技巧mysql命令行分页
T-SQL 查询语句的执行顺序解析
悟道Web标准:让W3C标准兼容终端
在函数间不能传递32个以上参数的疑难问题
影响SQL Server性能的三个关键点
什么是Ajax及Ajax的优势
![](https://img.aspxhome.com/file/UploadPic/up/2007091821580144.jpg)
网页iframe元素应用浅析
WAP页面设计与实现小贴士
![](https://img.aspxhome.com/file/UploadPic/20111/10/01-19s.jpg)
用FrontPage制作缩略图和图片重叠效果
利用ASP远程注册DLL的方法
解释FCKeditor样式的工作原理
SQL基础语句总结
IE8 CSS之生成内容
ASP+MSSQL2000 数据库被批量注入后的解决方法第1/2页
UCDChina.com 关于用户期望的讨论
ASP编程菜鸟易犯的一个错误
谈切图优化加速图片显示—淘宝实例
![](https://img.aspxhome.com/file/UploadPic/20081/30/200813012349773s.gif)