DOM简介
DOM的接口和类
DOM的用法
1.DOM简介:
DOM是Document Object Model的缩写,即文档对象模型。
该模型定义了HTML和XML文件在内存中文档结构,提供了对HTML和XML文件的访问,储存的方法。利用DOM规范,可以实现DOM文档和XML之间的相互转换,对相应的DOM文档的内容进行遍历或其他的操作。
如果要自由的操作XML文件,就要用到DOM(文档对象模型)的规范。
DOM的原理简单点说,就是通过解析XML文档,为XML文档在逻辑上建立一个树模型,在DOM中有这个树的概念。
树的节点是一个个对象。我们通过存取这些对象就能够操作所谓的"XML"文档中的内容了。
<? version="1.0" encoding="GB2312" ?>
<!--使用DOM解析关于学生信息的XML文档,然后使用DOM的接口向该文档中添加关于教师的信息。最后再用改动后的XML文档替换该文档。程序运行前,学生信息的XML文档(class.xml)内容,如下图标所示-->
<班级>
<学生 编号="A001">
<姓名>张三</姓名>
<年龄>20</年龄>
<电子邮件>zhangsan@163.com</电子邮件>
<身高>179.5</身高>
<电话>13351810278</电话>
<单位>北京百度有限公司</单位>
</学生>
<学生 编号="B001">
<姓名>李四</姓名>
<年龄>22</年龄>
<电子邮件>lisi@163.com</电子邮件>
<身高>180.5</身高>
<电话>13336982232</电话>
<单位>北京新浪限公司</单位>
</学生>
</班级>
2.DOM的优缺点对比
DOM的优势主要表现在:易用性强,使用DOM时,将把所有的XML文档信息都储存在你计算机的内存中,并且遍历简单,
支持XPath,增强了易用性。
DOM的缺点主要表现在:效率低,解析速度慢,内存占用量过高,对于大文件来说几乎不可能使用。
在Java中DOM类的介绍
1.
DocumentBuilderFactory类
DocumentBuilderFactory类是一个抽象类,该类主要用于定义工厂的API,使用应用程序能够从XML文档中获取生成DOM对象树的解析器。该类位于java.xml.parsers包中。只有一个受保护的构造方法。
其构造方法如下:
protected DocumentBuilderFactory()方法:用于组织实例化的受保护构造方法。
2.DocumentBuilder类是一个抽象类,主要用于从XML文档中获取DOM文档实例。
可以用过DocumentBuilderFactory.new DocumentBuilder();代码获取此类的实例。
获取子类的实例后,将可以从各种输入流来解析XML。
该类有一个受保护的构造方法 如下:
protected DocumentBuilder();
DocumentBuilder类 其他的常用办法如下:
1).Document.parse(String uri)方法:将给定的URI的内容解析为一个XML文档,并且返回一个新的Document对象。
2).abstract Document new Document()方法:将获取DOM Document对象的一个新实例来生成一个DOM树。
3).void reset()方法:将此 DocumentBuider重置为其原始配置。
4).abstract void setEntityResolver(EntityResolver er)方法:指定使用EntityResolver 解析要解析的XML文档中存在的实体。
5).abstract void setErrorHandler(ErrorHandler eh)方法:指定解析器要使用的ErrorHandler.
DOM的基本接口介绍
Document接口
Document接口表示整个HTML或XML文档。它不仅指文档的根,并提供对文档数据的基本访问。Document接口是对文档进行操作的入口,它是从Node接口继承过来的。该接口位于org.w3c.dom包中。
该接口的常用方法有以下几种:
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。太困了不写了。。待续中
分享到:
相关推荐
为了处理XML文档,Java提供了多种API,其中包括JDOM、DOM4J、DOM、SAX和JAXEN。这些库分别代表了不同的解析策略,各有优缺点,适用于不同场景。下面将详细介绍这些库及其在解析XML时的角色。 首先,`jdom.jar` 是...
“别再更新了,实在是学不动了”这句话道出了多少前端开发者的心声,”不幸”的是 Vue 的作者在国庆... 重构 virtual DOM 新的响应式机制 今天咱就聊聊重构后的响应式数据。 尝鲜 重构后的 Vue3.0 和之前在写法上有很
前端那些事儿:high_voltage::bullseye::artist_palette:一、JS篇原型 原型链 继承作用域 闭包 堆栈溢出 内存泄漏异步 单线程 线程DOM操作(增删改查)数组去重、排序---什么是函数柯里化?以及说一下JS的API有哪些应用...
- 生命周期是Vue实例从诞生到消亡的全过程,涵盖了实例创建、数据初始化、模板编译、DOM挂载、数据更新、DOM重渲染、实例销毁等环节。这个过程提供了多个关键的钩子函数,允许开发者在特定时刻介入并执行自定义逻辑...
使用 DOM 遍历或 CSS 选择器查找并提取数据 操作HTML 元素、属性和文本 根据安全列表清理用户提交的内容,以防止 XSS 攻击 输出整洁的 HTML jsoup 旨在处理各种常见的 HTML;从原始和验证,到无效的标签汤;jsoup 将...
这个不是业务的要求,但是看到每次进入页面就重新渲染DOM然后再获取数据更新DOM,觉得作为一个前端工程师有必要优化下的加载逻辑,正好vue提供了keep-alive的功能,所以就试用了下。当然,干任何事儿都不会一帆风顺...
在同域情况下,父页面可以直接通过DOM结构访问和操作子页面的内容。而在跨子域的情况下,可以通过设置document.domain来实现父页面和子页面的通信。 具体来说,如果父页面和子页面属于同一个主域,例如都是***,...
关于WAI-ARIA那些事儿 [译]HTML进阶之Content categories [译]HTML进阶之Data attributes [译]如何隐藏DOM元素? [译]HTML Timers CSS 你真的理解浏览器盒模型吗? 我不知道CSS,你知道吗? 简单理解CSS layout和...
前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、...方案如何设计,用什么技术点,什么样的系统架构,难点会在哪里? Day379:如果让你来实现一个前端监控系统,应该考虑什么?如何去实现?
下面将详细讨论这些领域的关键知识点。 **Vue.js** Vue.js是一款轻量级的前端框架,以其易学易用和组件化设计著称。其主要特点包括: 1. **虚拟DOM**:Vue通过虚拟DOM提高了性能,减少对实际DOM的操作。 2. **指令...
如果您也用puppeteer做一些有趣的事儿,欢迎交流。 爬虫 针对搜索的爬虫,此类页面特点: 滚动加载,加载图片 请求接口,接口会变 页面结构会变 为什么使用puppeteer? 因为 api 简洁,对于其他的,前端更易上手。 ...
2. **虚拟DOM**:Vue.js使用虚拟DOM技术,当数据发生变化时,它会高效地计算出最小的DOM变更,从而减少不必要的页面重绘,提高性能。 3. **响应式数据绑定**:Vue.js的双向数据绑定使得视图和模型之间的数据同步变...
3. **指令**:Vue提供了一系列内置指令(如`v-if`, `v-for`, `v-bind`, `v-on`等),它们用于操作DOM,简化了视图和数据之间的交互。 4. **计算属性与侦听器**:计算属性用于根据其他数据计算出新的值,而侦听器则...
这些例子覆盖了jQuery的基础和进阶用法,包括DOM操作、事件处理、动画和Ajax交互等。通过学习和实践这些例子,开发者可以快速掌握jQuery的核心技能,并将其应用于实际项目中,提升网页的动态性和用户体验。