`

DOM那点事儿。。

阅读更多

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包中。

该接口的常用方法有以下几种: 

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。太困了不写了。。待续中

 

 

1
0
分享到:
评论

相关推荐

    jdom.jar,dom4j.jar,dom.jar,sax.jar,jaxen.jar解析xmljar包

    为了处理XML文档,Java提供了多种API,其中包括JDOM、DOM4J、DOM、SAX和JAXEN。这些库分别代表了不同的解析策略,各有优缺点,适用于不同场景。下面将详细介绍这些库及其在解析XML时的角色。 首先,`jdom.jar` 是...

    茶余饭后聊聊Vue3.0响应式数据那些事儿

    “别再更新了,实在是学不动了”这句话道出了多少前端开发者的心声,”不幸”的是 Vue 的作者在国庆... 重构 virtual DOM 新的响应式机制 今天咱就聊聊重构后的响应式数据。 尝鲜 重构后的 Vue3.0 和之前在写法上有很

    Front-End:前端那些事儿

    前端那些事儿:high_voltage::bullseye::artist_palette:一、JS篇原型 原型链 继承作用域 闭包 堆栈溢出 内存泄漏异步 单线程 线程DOM操作(增删改查)数组去重、排序---什么是函数柯里化?以及说一下JS的API有哪些应用...

    阿里大厂内部前端面试题库

    - 生命周期是Vue实例从诞生到消亡的全过程,涵盖了实例创建、数据初始化、模板编译、DOM挂载、数据更新、DOM重渲染、实例销毁等环节。这个过程提供了多个关键的钩子函数,允许开发者在特定时刻介入并执行自定义逻辑...

    jsoup:Java HTML 解析器

    使用 DOM 遍历或 CSS 选择器查找并提取数据 操作HTML 元素、属性和文本 根据安全列表清理用户提交的内容,以防止 XSS 攻击 输出整洁的 HTML jsoup 旨在处理各种常见的 HTML;从原始和验证,到无效的标签汤;jsoup 将...

    详解Vue路由开启keep-alive时的注意点

    这个不是业务的要求,但是看到每次进入页面就重新渲染DOM然后再获取数据更新DOM,觉得作为一个前端工程师有必要优化下的加载逻辑,正好vue提供了keep-alive的功能,所以就试用了下。当然,干任何事儿都不会一帆风顺...

    关于Javascript与iframe的那些事儿

    在同域情况下,父页面可以直接通过DOM结构访问和操作子页面的内容。而在跨子域的情况下,可以通过设置document.domain来实现父页面和子页面的通信。 具体来说,如果父页面和子页面属于同一个主域,例如都是***,...

    FrankKai.github.io:趁你还年轻的技术博客,主要包括前端,node,运维和随想,文章在issues。目前主要从事前端开发工作

    关于WAI-ARIA那些事儿 [译]HTML进阶之Content categories [译]HTML进阶之Data attributes [译]如何隐藏DOM元素? [译]HTML Timers CSS 你真的理解浏览器盒模型吗? 我不知道CSS,你知道吗? 简单理解CSS layout和...

    前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、Css、JavaScript、Vue

    前端面试,独有前端面试题详解,前端面试刷题必备,1000+前端面试真题,Html、...方案如何设计,用什么技术点,什么样的系统架构,难点会在哪里? Day379:如果让你来实现一个前端监控系统,应该考虑什么?如何去实现?

    前端面试题、技术积累、Vue、JS、HTML、ES6

    下面将详细讨论这些领域的关键知识点。 **Vue.js** Vue.js是一款轻量级的前端框架,以其易学易用和组件化设计著称。其主要特点包括: 1. **虚拟DOM**:Vue通过虚拟DOM提高了性能,减少对实际DOM的操作。 2. **指令...

    puppeteer-usage:基于puppeteer的实践和应用

    如果您也用puppeteer做一些有趣的事儿,欢迎交流。 爬虫 针对搜索的爬虫,此类页面特点: 滚动加载,加载图片 请求接口,接口会变 页面结构会变 为什么使用puppeteer? 因为 api 简洁,对于其他的,前端更易上手。 ...

    前端火爆真实项目源码练习

    2. **虚拟DOM**:Vue.js使用虚拟DOM技术,当数据发生变化时,它会高效地计算出最小的DOM变更,从而减少不必要的页面重绘,提高性能。 3. **响应式数据绑定**:Vue.js的双向数据绑定使得视图和模型之间的数据同步变...

    Vue火爆经典实战项目

    3. **指令**:Vue提供了一系列内置指令(如`v-if`, `v-for`, `v-bind`, `v-on`等),它们用于操作DOM,简化了视图和数据之间的交互。 4. **计算属性与侦听器**:计算属性用于根据其他数据计算出新的值,而侦听器则...

    jquery的几个例子程序

    这些例子覆盖了jQuery的基础和进阶用法,包括DOM操作、事件处理、动画和Ajax交互等。通过学习和实践这些例子,开发者可以快速掌握jQuery的核心技能,并将其应用于实际项目中,提升网页的动态性和用户体验。

Global site tag (gtag.js) - Google Analytics