ASP对XML文档的操作(DOM)

原创 2004年11月03日 18:15:00

XML文档内容

<?xml version="1.0" encoding="gb2312"?>
<xml>
 <note>
  <item>
   <id>1</id>
   <from>CNLX</from>
   <to>LDJ</to>
   <content>I like you very much!</content>
  </item>
 </note>
</xml>
读取文档的ASP代码
<%
 '指定XML文档路径
 strSourceFile = Server.MapPath("test.xml")
 '以自由线程创建一个XML对象
 Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
 '加载文档到内存
 objXML.load(strSourceFile)
 '选取note节点
 Set objRootsite = objXML.documentElement.selectSingleNode("note")
 '把各个节点值赋值给相应的变量
 id = objRootsite.childNodes.item(0).childNodes.item(0).text
 from = objRootsite.childNodes.item(0).childNodes.item(1).text
 toer = objRootsite.childNodes.item(0).childNodes.item(2).text
 content = objRootsite.childNodes.item(0).childNodes.item(3).text
 '输出变量值
 response.write id
 response.write from
 response.write toer
 response.write content
 set objXML = nothing
%>

修改XML文档的ASP代码

<%
'创建XML文档的<item>节点,并创建其所有元素
  strSourceFile = Server.MapPath("test.xml")
 
  Set objXML = Server.CreateObject("Microsoft.XMLDOM")
  
  objXML.load(strSourceFile)
  
  If objXML.parseError.ErrorCode <> 0 Then
       objXML.loadXML "<?xml version=""1.0"" encoding=""gb2312"" ?><xml><note></note></xml>"
    End If

  Set objRootlist = objXML.documentElement.selectSingleNode("note")
  
  If objRootlist.hasChildNodes then
   id = objRootlist.lastChild.firstChild.text + 1
  Else
   id=1
  End If
  
from="LDJ"
toer="CNLX"
content="I like you too!"

  Set oListNode = objXML.documentElement.selectSingleNode("note").AppendChild(objXML.createElement("item"))
  
  Set oDetailsNode = oListNode.appendChild(objXML.createElement("id"))
    oDetailsNode.Text = id
    
    Set oDetailsNode = oListNode.appendChild(objXML.createElement("from"))
    oDetailsNode.Text = from
    
    Set oDetailsNode = oListNode.appendChild(objXML.createElement("to"))
    oDetailsNode.Text = toer
    
    Set oDetailsNode = oListNode.appendChild(objXML.createElement("content"))
    oDetailsNode.Text = content
  
  objXML.save(strSourceFile) 
  
  Set objXML=nothing
%>


<%
'修改XML文档的指定节点的值
 filePath = "test.xml"
        Set objXML = server.CreateObject("Msxml2.DOMDocument")
        objXML.async = False
        loadResult = objXML.Load(server.MapPath(filePath))
        If Not loadResult Then
             Response.Write ("加载XML文件出错!")
               Response.End
         End If  

      i =  Request.QueryString("id")
      Set objNodes = objXML.selectSingleNode("xml/note/item[id ='" & i & "']")
      if Not IsNull(objNodes) then
   from = "LXER"
    if from <> "" then
   objNodes.childNodes(1).text  = from
   objXML.save(server.MapPath(filePath))  
   Set objXML=nothing
    end if
   Set objXML=nothing
  end if
%>


<%
'删除指定节点
delid = Request.Querystring("delid")
sourceFile = Server.MapPath("test.xml")
if delid<>"" then
   Set source = Server.CreateObject("Msxml2.DOMDocument")
   source.async = false
   source.load(sourceFile)
   Set currNode = source.selectSingleNode("xml/note/item[id='" & delid & "']")
   if Not IsNull(currNode) then
      currNode.parentNode.removeChild(currNode)
   End If 
   source.save(sourceFile)

   Response.Write("<script>alert('删除成功');</script>")
   Response.end

end if
%>

dom解析方式对xml文档进行操作

java就业培训教程 张孝祥 36.2元 javascript就业培训教程 张孝祥 ...
  • qq_30638831
  • qq_30638831
  • 2016年04月07日 14:45
  • 726

sax和dom在解析xml文档时有什么区别

当你需要处理XML文档时,你的首要选择是使用DOM(文档对象模型)还是使用SAX(用于XML的简单API),即当前使用的两个主要的XML API。你可以使用任何一种(或者在同一时间使用两种)来处理XM...
  • zhupengqq
  • zhupengqq
  • 2016年04月18日 18:31
  • 1290

ASP通过DOM进行XML操作

       工作中需要用到XML进行数据交换,需要使用ASP动态生成XML文件,而ASP操作XML可以通过DOM与FSO技术实现,考虑到如果客户端IE的安全级别比较高则可能无法正常访问,故采用DOM...
  • lidane03
  • lidane03
  • 2007年01月24日 11:25
  • 805

Dom解析XML

DOM(Document Object Model):W3C组织推荐的处理XML的标准接口.  http://www.w3.org/DOM/DOMTR.html  DOM特点:首先将整...
  • u013516966
  • u013516966
  • 2015年01月29日 02:41
  • 915

jaxp解析器用dom方式操作xml文档的总结

1. xml解析技术概述  解析xml文档一般有两种技术:dom(Document Object Model)和sax(Simple API for XML)。dom即文档对象模型,是W3C组织推荐的...
  • eson_15
  • eson_15
  • 2016年05月26日 18:48
  • 2617

什么是DOM(个人理解)

了解DOM需要清楚几个问题: 什么是DOM? DOM可以用来干什么? DOM是怎么来的? 怎么使用DOM?什么是DOM? DOM(document Object Model),是针对HTML和XM...
  • makel12
  • makel12
  • 2016年04月19日 20:06
  • 1982

【JavaScript】使用jQuery操作DOM

本章需要掌握的技能目标 1、使用jQuery操作css样式。 2、使用jQuery操作文本与属性值内容 3、使用jQuery操作DOM节点 4、使用jQuery遍历DOM节点 5、使用jQuery操作...
  • mjianglei
  • mjianglei
  • 2016年11月26日 22:43
  • 850

dom解析xml文档过程总结

先得到dom解析后的文档树,和root元素.然后递归解析,这个程序中没说明如何保存相应节点的值,如果要用hashtable数据结构保存各个节点的值,程序还得做相应调整,因为在这个递归中textvalu...
  • shunan
  • shunan
  • 2007年09月15日 11:02
  • 1051

前端性能优化:DOM操作标签对性能的影响

给DOM添加相同的数量的字符串,到底什么会相应性能呢?测试代码: var length = 300000; function Test1() { var t = [length...
  • xuexiaodong2009
  • xuexiaodong2009
  • 2016年08月01日 09:26
  • 1682

3.利用jasp进行dom方式解析

思路:利用jasp进行dom方式解析 《基本操作就这些,必须会》  1,得到解析工厂DocumentBuilderFactory  DocumentBuilderFactory factory=Doc...
  • LABLENET
  • LABLENET
  • 2015年08月02日 12:59
  • 503
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP对XML文档的操作(DOM)
举报原因:
原因补充:

(最多只允许输入30个字)