主页 > 知识库 > ASP XMLDom在服务器端操作XML文件的主要方法和实现

ASP XMLDom在服务器端操作XML文件的主要方法和实现

热门标签:武汉营销电话机器人软件 长沙防封电销卡品牌 智能电销机器人适用于哪些行业 西宁公司外呼系统平台 地图标注宅基地 地图标注服务哪家好 外呼系统还用卡么 徐州人工智能电销机器人好用吗 腾讯地图标注商户关闭
对于小数据量,xml文件在检索更新上于ACCESS有很多优势。

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

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

程序代码

NO.1--建立一个XML数据库data.xml
复制代码 代码如下:

?xml version="1.0"?>
records>
record>
name>caca/name>
qq>154222225/qq>
email>root@3ney.com/email>
/record>
records>

NO.2--建立对象CreateObject
建立data.xml的对象先
set xmldoc=server.createobjcet("microsoft.xmldom")
xmldoc.load(server.mappath("data.xml")

NO.3--选定节点SelectNode
你想操作哪个Node,必须定位到这个节点是不是,先看看这个data.xml有几个Node??
用一个递归函数搞定:
复制代码 代码如下:

getnodes(xmldoc)

sub getnodes(node)
dim i
response.write("br>b>NodeName:/b>"node.nodename"br>b>NodeTypeString:/b>"node.nodetypestring"br>b>NodeValue:/b>"node.nodevalue"br>b>Text:/b>"node.text"br>b>node.childnodes.length:/b>"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
用这个函数后,可以看到这个data.xml有10个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
是不是定位很简单呀,还有个方法,比如定位name>
xmldoc.selectsinglenode("//name")

NO.4--给节点赋值(修改节点的值)
学会了定位节点,利用其属性,就可以修改或者赋值了
例如,把name>的值caca改为wawa
xmldoc.selectsinglenode("//name").text="wawa"
xmldoc.save(server.mappath("data.xml"))
搞定!
NO.5--创建新的节点CreatenewNode
用createelement或者createnode("","","")
例如:在record下新建个age>,只需要一句就搞定:
xmldoc.selectsinglenode("//record").appendchild(xmldoc.createelement("age>"))
给age>赋值
xmldoc.selectsinglenode("//age").text="20"
xmldoc.save(server.mappath("data.xml"))
搞定!
NO.6--删除一个节点DeleteNode
你必须明确你想删除的这个节点的父节点,以及这个节点的特征
例如:删除qq>节点
xmldoc.selectsinglenode("//record").removechild(xmldoc.selectsinglenode("//qq"))
例如:删除那个name>=caca的record>
xmldoc.selectsinglenode("//records").removechild(xmldoc.selectsinglenode("//record[name='caca']))
xmldoc.save(server.mappath("data.xml"))
搞定!
只有能熟练这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>中国铁路出版社/publisher>
img>img/flash.jpg/img>
/book>
book cost="48">
name>Firweorks/name>
publisher>中国铁路出版社/publisher>
img>img/fw.jpg/img>
/book>
/data>
您可能感兴趣的文章:
  • asp下将数据库中的信息存储至XML文件中
  • asp access数据库并生成XML文件范例
  • Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
  • ASP XML操作类代码
  • ASP读取XML实例 优酷专辑采集程序 雷锋版
  • Asp操作Xml的精炼类,含示例代码
  • ASP.NET+XML打造网络硬盘原理分析
  • asp xmlhttp下载一句话
  • asp.net TreeView与XML三步生成列表树
  • Asp 解析 XML并分页显示源码
  • ASP.NET中XML转JSON的方法实例
  • ASP.net处理XML数据实例浅析
  • ASP.NET XmlDocument类详解
  • asp.net中XML如何做增删改查操作
  • asp控制xml数据库的经典代码

标签:普洱 鹰潭 巴彦淖尔 通化 雅安 通辽 荆门 运城

巨人网络通讯声明:本文标题《ASP XMLDom在服务器端操作XML文件的主要方法和实现》,本文关键词  ASP,XMLDom,在,服务器,端,操作,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《ASP XMLDom在服务器端操作XML文件的主要方法和实现》相关的同类信息!
  • 本页收集关于ASP XMLDom在服务器端操作XML文件的主要方法和实现的相关信息资讯供网民参考!
  • 推荐文章