首先看一下xml文件

text.xml
'encoding使用gb2312中文,如果要用英文则用utf-8

<?xml version="1.0" encoding="gb2312"?>
<root>
<row
ID="2" COMPNAME="闪电儿" ADDR="河北省唐山市" 邮编="063000" TEL="0315-2695"
PRODSERV="网页教学" 经济行业="网页制作" 省份="河北省" 地市="唐山市" 区域="路南区" visit="0"
优先级="888888888" zhuangtai="最新"/>
<row
ID="3" COMPNAME="网页教学qwwqq" ADDR="河北省唐山市aaa" 邮编="063000"
TEL="0315-2695" PRODSERV="网页教学" 经济行业="网页制作" 省份="河北省" 地市="唐山市" 区域="路南区"
visit="0" 优先级="888888888" zhuangtai="最新"/>
<row
ID="4" COMPNAME="sdfds" ADDR="sdfds" 邮编="sdfds" TEL="sdfds"
PRODSERV="sdfds" 经济行业="sdfds" 省份="sdfds" 地市="sdfds" 区域="sdfds"
visit="sdfds" 优先级="sdfds" zhuangtai="sdfds"/>
<row
ID="5" COMPNAME="asd" ADDR="asd" 邮编="asd" TEL="asd" PRODSERV="asd"
经济行业="asd" 省份="asd" 地市="asd" 区域="asd" visit="asd" 优先级="asd"
zhuangtai="asd"/>
<row
ID="6" COMPNAME="m" ADDR="m" 邮编="m" TEL="m" PRODSERV="m" 经济行业="m"
省份="m" 地市="m" 区域="m" visit="m" 优先级="m" zhuangtai="m"/>
</root>
读取xml文件,如图
index.asp
<%
path="text.xml"
dim xml,objNode,objAtr,nCntChd,nCntAtr
Set xml=Server.CreateObject("Microsoft.XMLDOM")
xml.validateOnParse = True
xml.Load(Server.MapPath(path))
xml.Async=False
Set objNode=xml.documentElement
nCntChd=objNode.childnodes.length-1
'这个可以定义asp读取xml文件的那一个值,通过传递这个值来确定读取的数据
%>
<table width="90%" border="0" cellspacing="0" cellpadding="0">
  <tr>
  <%
    for h=0 to nCntChd
  %>
    <td height="25" align="center">名称</td>
  <%
    next
  %>
    <td height="25"><a href="addxmlInfo.asp">添加</a> </td>
  </tr>
<%
for i=0 to nCntChd
set objAtr=objNode.ChildNodes.item(i)
nCntAtr=objAtr.Attributes.length-1
'历遍一条记录里面的所有的记录项,记录是从0开始的
%>
<tr>
<%
for j=0 to nCntAtr
%>
   <td height="25" align="center" valign="middle"><%=objAtr.Attributes.item(j).Text%></td>
  
<%
'response.write objAtr.Attributes.item(j).Text&"<br>"
next
%>
<td
height="25" align="center" valign="middle"><a
href="modXml.asp?id=<%=i%>">修改</a> <a
href="delXml.asp?id=<%=i%>">删除</a></td>
</tr>
<%
next
%>
</table>
<%
Set objAtr=Nothing
Set objNode=Nothing 
Set xml=Nothing 
%>
添加xml文件内容
addxmlInfo.asp
<%
  dim xml,objNode,objAtr,nCntChd,nCntAtr
  Set xml=Server.CreateObject("Microsoft.XMLDOM")
xml.validateOnParse = True
xml.Load(Server.MapPath("text.xml"))
xml.Async=False
Set objNode=xml.documentElement
nCntChd=objNode.childnodes.length-1
set objAtr=objNode.ChildNodes.item(nCntChd)
nCntAtr=objAtr.Attributes.length-1
%>
<form action="addxml.asp" method="post">
<table width="43%" border="0" cellspacing="0" cellpadding="0">
<%
   for n=0 to nCntAtr
%>
  <tr>
    <td><%=objAtr.Attributes.item(n).Name%></td>
<%
 if objAtr.Attributes.item(n).Name="ID" then
%>
  
 <td align="left"><input type="text"
name="<%=objAtr.Attributes.item(n).Name%>"
value="<%=cint(objAtr.Attributes.item(n).Text)+1%>"
/></td>
<%
else
%>
<td align="left"><input type="text" name="<%=objAtr.Attributes.item(n).Name%>" value="" /></td>
<%
end if
%>
  </tr>
<%
next
%>
<tr>
<td><input type="submit" value="添加" /></td>
</tr>
</table>
</form>
<%
Set objAtr=Nothing
Set objNode=Nothing 
Set xml=Nothing 
%>
addxml.asp
<%
   dim xml,objNode,objAtr,nCntChd,nCntAtr
   Set xml=Server.CreateObject("Microsoft.XMLDOM")
   xml.validateOnParse = True
   xml.Load(Server.MapPath("text.xml"))
   xml.Async=False
   Set objNode=xml.documentElement
   set row = xml.createNode(1,"row","")
   objNode.appendChild(row)
   xml.Save(Server.MapPath("text.xml"))
   '最后一个ID号
   nCntChd=objNode.childnodes.length-1
 
   set objAtr=objNode.ChildNodes.item(nCntChd-1)
   nCntAtr=objAtr.Attributes.length-1
   for n=0 to nCntAtr
  
call

xml.getElementsByTagName("row").item(xml.DocumentElement.childNodes.length-1).setAttribute(""&objAtr.Attributes.item(n).Name&"",""&trim(request.Form(objAtr.Attributes.item(n).Name))&"")

   next
xml.Save(Server.MapPath("text.xml"))
set objAtr=nothing
set row=nothing
set objNode=nothing
set xml=nothing
response.Write "<script>alert('添加成功!');location.href='readXml.asp';</script>"
 
%>

至此添加完毕,接下来要进行修改和删除了

修改xml文件
modXml.asp
<%
  dim id
  id=request("id")
  if id<>"" then
  dim xml,objNode,objAtr,nCntChd,nCntAtr
  Set xml=Server.CreateObject("Microsoft.XMLDOM")
xml.validateOnParse = True
xml.Load(Server.MapPath("text.xml"))
xml.Async=False
Set objNode=xml.documentElement
 
set objAtr=objNode.ChildNodes.item(id)
nCntAtr=objAtr.Attributes.length-1
%>
<form action="modXmlInfo.asp" method="post">
<table width="43%" border="0" cellspacing="0" cellpadding="0">
<%
   for n=0 to nCntAtr
%>
  <tr>
    <td><%=objAtr.Attributes.item(n).Name%></td>
  
 <td align="left"><input type="text" name="Atr<%=n%>"
value="<%=objAtr.Attributes.item(n).Text%>" /></td>
  </tr>
<%
next
%>
<tr>
<td><input type="submit" value="修改" />
 <input name="id" type="hidden" id="id"  value="<%=id%>"/></td>
</tr>
</table>
</form>
<%
  end if
%>
<%
Set objAtr=Nothing
Set objNode=Nothing 
Set xml=Nothing 
%>
modXmlInfo.asp
<%
dim id
id=request("id")
if id<>"" then
dim xml,objNode,objAtr,nCntChd,nCntAtr
   Set xml=Server.CreateObject("Microsoft.XMLDOM")
xml.validateOnParse = True
xml.Load(Server.MapPath("text.xml"))
xml.Async=False
Set objNode=xml.documentElement
set objAtr=objNode.ChildNodes.item(id)
nCntAtr=objAtr.Attributes.length-1
for c=0 to nCntAtr
objAtr.Attributes.item(c).Text=request.Form("Atr"&c)
'response.Write request.Form("Atr"&c)
'response.Write "<>"
next
xml.save(Server.mappath("text.xml"))
 
end if
set objAtr=nothing
set objNode=nothing
set xml=nothing
response.Write "<script>alert('保存成功');location.href='readxml.asp'</script>"
%>
修改完毕,接下来只剩下删除了
delXml.asp
<%
  dim id
id=request("id")
if id<>"" then
dim xml,objNode,objAtr,nCntChd,nCntAtr
   Set xml=Server.CreateObject("Microsoft.XMLDOM")
xml.validateOnParse = True
xml.Load(Server.MapPath("text.xml"))
xml.Async=False
Set objNode=xml.documentElement
objNode.removechild(objNode.ChildNodes.item(id))
xml.save(Server.mappath("text.xml"))
 
end if
set objAtr=nothing
set objNode=nothing
set xml=nothing
response.Write "<script>alert('保存成功');location.href='readxml.asp'</script>"
%>

ASP对XML的增、删、改、查的更多相关文章

  1. 好用的SQL TVP~~独家赠送[增-删-改-查]的例子

    以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化.  本系列主要是针对T-SQL的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础] ...

  2. iOS FMDB的使用(增,删,改,查,sqlite存取图片)

    iOS FMDB的使用(增,删,改,查,sqlite存取图片) 在上一篇博客我对sqlite的基本使用进行了详细介绍... 但是在实际开发中原生使用的频率是很少的... 这篇博客我将会较全面的介绍FM ...

  3. iOS sqlite3 的基本使用(增 删 改 查)

    iOS sqlite3 的基本使用(增 删 改 查) 这篇博客不会讲述太多sql语言,目的重在实现sqlite3的一些基本操作. 例:增 删 改 查 如果想了解更多的sql语言可以利用强大的互联网. ...

  4. django ajax增 删 改 查

    具于django ajax实现增 删 改 查功能 代码示例: 代码: urls.py from django.conf.urls import url from django.contrib impo ...

  5. ADO.NET 增 删 改 查

    ADO.NET:(数据访问技术)就是将C#和MSSQL连接起来的一个纽带 可以通过ADO.NET将内存中的临时数据写入到数据库中 也可以将数据库中的数据提取到内存中供程序调用 ADO.NET所有数据访 ...

  6. MVC EF 增 删 改 查

    using System;using System.Collections.Generic;using System.Linq;using System.Web;//using System.Data ...

  7. python基础中的四大天王-增-删-改-查

    列表-list-[] 输入内存储存容器 发生改变通常直接变化,让我们看看下面列子 增---默认在最后添加 #append()--括号中可以是数字,可以是字符串,可以是元祖,可以是集合,可以是字典 #l ...

  8. Android SQLite(1)简单示例-增,删,改,查

    1.主要核心类,Sqlite编程要继承SQLiteOpenHelper import android.content.Context; import android.database.sqlite.S ...

  9. 简单的php数据库操作类代码(增,删,改,查)

    这几天准备重新学习,梳理一下知识体系,同时按照功能模块划分做一些东西.所以.mysql的操作成为第一个要点.我写了一个简单的mysql操作类,实现数据的简单的增删改查功能. 数据库操纵基本流程为: 1 ...

  10. MongoDB增 删 改 查

    增 增加单篇文档 > db.stu.insert({sn:'001', name:'lisi'}) WriteResult({ "nInserted" : 1 }) > ...

随机推荐

  1. 《Node即学即用》—— 读后总结

    导图

  2. Eos开发——ajax请求

    function saveData(){ form.validate(); if(form.isValid()==false) return; var persons = grid.getChange ...

  3. ios crash的原因与抓取crash日志的方法

    首先我们经常会闪退的异常有哪些呢?crash的产生来源于两种问题:违反iOS策略被干掉,以及自身的代码bug. 1.IOS策略 1.1 低内存闪退 前面提到大多数crash日志都包含着执行线程的栈调用 ...

  4. Nginx配置文件解析

    user nginx nginx; #定义Nginx运行的用户和用户组 worker_processes 1; #nginx进程数,建议设置为等于CPU总核心数 worker_rlimit_nofil ...

  5. java中集合类中Collection接口中的Map接口的常用方法熟悉

    1:Map接口提供了将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.Map接口中同样提供了集合的常用方法. 2:由于Map集合中的元素是通过key,value,进行存储的,要 ...

  6. MyEclipse 2014(激活)

    激活 破解附件包下载:http://pan.baidu.com/s/1c27Dwe0 提取密码:qy38 详细破解步骤请参考:http://blog.my-eclipse.cn/myeclipse-2 ...

  7. C指针(一)

    原文链接:http://www.orlion.ga/916/ 一.指针的基本操作 例: int i; int *pi = &i; char c; char *pc = &c; &quo ...

  8. 理解DOM事件流的三个阶段

    本文主要解决两个问题: 1.什么是事件流 2.DOM事件流的三个阶段 事件流之事件冒泡与事件捕获 在浏览器发展的过程中,开发团队遇到了一个问题.那就是页面中的哪一部分拥有特定的事件? 可以想象画在一张 ...

  9. CSS3中惊艳的gradient

    以前曾经记录过linear-gradient(线性渐变)和 radial-gradient(径向渐变)的语法. 可以参考<CSS3中border-radius.box-shadow与gradie ...

  10. MonoGame 3.2 下,截屏与 Texture2D 的保存

    10月20日注:后来发现了这篇博文(英文),XNA 中的 Color 实际上是与 Alpha 值自左乘(premultiplied)的,这也解释了直接用 0xARGB 转译而颜色异常的原因. 注意,由 ...