预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共40页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第10章使用DOM访问XML文档10.1DOM概述10.1DOM概述10.1.1DOM简介DOM(文档对象模型)DOM结构树10.1.2DOM结构树8.1DOM(文档对象模型)DOM在程序开发的地位DOM以及广义的基于树的处理具有几个优点。 树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。 通过DOM树,可实现对XML文档的随机访问和操作。使得开发应用程序简单、灵活。而不是像SAX那样是一次性的处理。 还提供了一个API,该API允许开发者为创建应用程序而在树的任何地方添加、编辑、移动或除去节点。 缺点: 占用内存空间。 对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,不如基于事件的模型,比如SAX。SAX(SimpleAPIforXML) SAX是基于事件的API。解析器将事件(如元素的开始或结束)发送给处理信息的事件处理程序。应用程序通过事件处理函数来访问XML数据。 其优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。所以是一种顺序访问机制。 由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。 适合处理大的XML文档。10.2通过DOM操作XML文档典型的Node(节点)对象典型的Node节点10.2.1MSXML及其主要对象接口10.2.1MSXML及其主要对象接口10.2.2Document对象DOM结构树10.2.2Document对象10.2.2Document对象10.2.2Document对象10-1.xml文档补充:innerHTML属性10.2.3Node对象10.2.3Node对象添加删除子元素(节点)10.2.3Node对象10.2.3Node对象10.2.3Node对象10.2.3NodeList对象10.2.3NodeList对象10.2.3NodeList对象10.2.3NodeList对象10.2.3NodeList对象添加/修改学生信息<%@language="vbscript"%> <%'建立COM对象setxmldoc=server.createObject("MSXML.DOMDocument") xmldoc.load(Server.MapPath("ch7-9.xml")) ifxmldoc.readystate=4andxmldoc.parseError.errorCode=0then '判断是否加载成功 SetRoot=xmldoc.selectSingleNode("学生列表")'选择根节点 SetStuNode=Root.AppendChild(xmldoc.createElement("学生"))‘ '为学生节点添加内容 SetCNode=StuNode.appendChild(xmldoc.createElement("学号")) CNode.Text="200120104" SetCNode=StuNode.appendChild(xmldoc.createElement("姓名")) CNode.Text="鲁红" SetCNode=StuNode.appendChild(xmldoc.createElement("性别")) CNode.Text="女" elseResponse.write("错误原因:"+xmldoc.parseError.reason) Endif fori=0toRoot.ChildNodes.length-1 ifRoot.ChildNodes(i).ChildNodes(1).text="凌怡"then Root.ChildNodes(i).ChildNodes(1).text="王芳" endif next xmldoc.save(Server.MapPath("ch7-9.xml"))'保存修改 Setxmldoc=nothing%>删除子元素10.2.5ParseError对象10.2.5ParseError对象