Dom是w3c定义的一组和程序,系统无关的规则。Dom的几个主要接口。
1:Document接口
Document接口代表了整个xml文档,提供了对文档中的数据进行访问和操作的入口。由于元素,文本节点,注释,处理指令等都不能脱离文档的上下文关系而独立存在,所有在Document结论提供了创建其他节点的对象的方法。通过该方法创建的节点对象都有一个ownerDocument属性,用来表明当前节点是由谁创建的以及节点同Document之间的联系
Document节点是Dom树中的根节点,也即对xml文档进行操作的入口节点,通过Document节点,可以访问到文档中的其他节点
属性:
Doctype DocumentType类型的只读属性 ,记录文档的类型声明
documentElement 为访问文档的根元素提供了一个简单的方法
方法
CreateAttribute 创建一个具有给定名称的属性节点然后可以利用setAttributeNode方法把改属性设置为某个元素的属性
createElement 创建一个指定类型的元素节点
createTextNode 创建一个具有指定的字符串内容的文本节点
getElementbyID 返回一个具有给定ID的元素节点,如果没有这样的元素存在就返回null
getElementByTagName 返回一个节点的集合(NodeList)该集合中所有的元素都具有参数中所给定的标记名,集合中的所有元素安装在Dom树中的前序排列进行排序
2:Node接口
Dom规范中有很大的一部分接口都是从Node接口继承过来的如:Element,attr,CDATASection等接口,都是从Node继承过来的
在DOM树中,一个node接口实例代表了树中的一个节点,DOM树中包含很多各种不同类型的节点,这些节点基本都是从Node继承过来的。Node接口定义了所有不同类型的节点都具有的属性和方法
node的属性:
attribute 只读属性 如果当前节点是Element_Node(元素节点)类型的节点
,则NameNodeMap中包含了当前节点的所有属性,如果当前的节点不是Element_Node,这属性值为null
childNodes 包含了当前节点的所有子节点,如果当前节点没有字节点,nodeList中就不包含任何节点
firstChild 当前节点的第一个子节点
lastChild 当前节点的最后一个子节点
nextSibling 当前节点上午直接后继节点
nodename 当前节点的名字,对于不同的节点类型,有不同的取值
nodeType 当前节点的类型
nodeValue 当前节点的值,对于不同的节点类型,该属性具有不同的取值
parentNode 当前节点的父节点
perviousSibling 当前节点的直接前驱节点
方法:
appendChild 把参数中传递过来的newChild添加到当前接受的所有的子节点列表的最后
hasChildNodes 判断当前节点是否有字节点
createElement 创建一个指定类型的元素节点
insertBefore(node,newchild,node,refchild)把节点newChild插入到当前节点的子节点refChild之前
removeChild 从当前节点的子节点中删除oldChild节点并返回oldChild
3:NodeList集合
NodeList接口提供了对节点集合的抽象定义,NodeList用于表示有顺序关系的一组节点
在DOM中,nodelist 的对象是动态的,也就是说对文档的改变,会之间反映到相关的NodeList对象中
NodeList中的每个item都可以通过一个索引来访问,该索引值从0开始
NodeList的属性length表示改节点集合中的节点个数,访问集合中的节点的合法索引值为0到length-1之间的数
item,返回节点集合中的第index个节点
4:NameNodeMap
实现了NameNodeMap接口的对象中包含了可以通过名字来访问节点的集合
NameNodeMap并不是从NodeList继承过来,NameNodeMap所包含的节点是无序的,实现了NameNodeMap接口对象所包含的节点也可以通过索引进行访问
getNameItem(string name) 返回给定名称的节点,如果没有改节点集合中没有这样节点,就返回null
item(long index) 返回节点集合中的第index个节点,index的取值从0
removeNamedItem(string name) 删除给定名称的节点 如果在当前节点集合中存在给定名称的节点,返回该节点
setNameItem(node arg) 把给定节点名的节点添加到当前节点集中,如果在当前节点集中已经存在相同节点明的节点了。那么就用现在节点替换已经存在的节点
最后,在Java中解析xml的时候要注意一点。Dom里面的主要几个类如Element,attribute,text 等类都死继承node接口(这是我学了好久才注意到的。希望大家不要象我那么笨)
好了,,就到这里吧(以上是我学习整理的笔记,如果侵犯了你的版权问题,请留言我马上处理)。
来源于:http://92java.iteye.com/blog/100180
分享到:
相关推荐
标题"Dom4j学习教程+API+xml实用大全+xml学习笔记+htc"提及了几个关键主题,包括Dom4j的学习资源、API文档,以及关于XML的实用指南和学习笔记,还提到了一个名为"htc"的文件,可能是关于HTC设备或技术的文档。...
本篇笔记将深入探讨XML DOM4J的学习要点。 一、XML基础知识 1. XML结构:XML文档由元素(Element)、属性(Attribute)、文本内容(Text)、注释(Comment)等组成。每个XML文档都有一个根元素,其他元素嵌套在根...
Java操作XML是编程中常见的任务,特别是在处理配置文件、数据交换和存储时。XML文档对象模型(DOM)是一种广泛使用的解析XML...了解和掌握这些方法对于Java开发者来说至关重要,能够帮助他们灵活应对各种XML处理需求。
### XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记 #### XML概述 XML(可扩展标记语言)是一种由W3C(万维网联盟)定义的标记语言,用于存储和传输数据。与HTML相比,XML更注重于数据的描述而非展示...
1. **PHP官方文档**:包含了完整的DOM、SimpleXML、XMLReader和XMLWriter的API参考,是学习PHP处理XML的基础。 2. **W3School**:提供在线教程和实例,帮助初学者快速上手XML和PHP的结合使用。 3. **Stack Overflow*...
【XML 高级学习笔记】 XML(Extensible Markup Language)是一种可扩展标记语言,与HTML类似,但其设计目标是存储和传输数据,而非呈现数据。XML允许用户自定义标签,使得它成为一种自描述的语言,并且是W3C的标准...
由于提供的文件信息中包含了大量的XML学习资料,且内容比较丰富,我们将逐一详细解释这些内容所涵盖的知识点。 **XML简介** XML是Extensible Markup Language(可扩展标记语言)的缩写,它是一种用于标记电子文件...
在“pugixml学习笔记1 加载文件”中,我们将探讨如何利用pugixml库来加载XML文件,包括从内存、文件、字符串和流中加载。 首先,我们需要了解pugixml的核心类:`pugi::xml_document`、`pugi::xml_node`和`pugi::xml...
### 北京圣思园XML学习笔记核心知识点详解 #### XML概述 - **XML全称**:eXtensible Markup Language(可扩展标记语言) - **学习XML的原因**: - 数据交换的需求日益增长,XML成为了电子商务的重要基础之一。 - ...
**标题:** Dom4j 解析Xml文档及 XPath查询 学习笔记 **正文:** XML(eXtensible Markup Language)是一种标记语言,常用于数据交换、配置存储以及文档结构化表示。在Java世界中,解析XML文档有多种库,其中Dom4j是...
在XML学习笔记中,我们可能会遇到以下几个关键知识点: 1. **XML基本结构**:XML文档由元素(Element)、属性(Attribute)、文本(Text)、注释(Comment)、处理指令(Processing Instruction)等组成。每个XML...
### DOM4j解析XML知识点详解 #### 一、DOM4j简介 DOM4j是一个用于处理XML文档的Java库,其名称来源于“Document Object Model for Java”,但它与标准的DOM API并不完全相同,而是提供了更为简便和高效的方式来...
**标题解析:** "Dom4j学习笔记" 这个标题明确指出了我们要探讨的主题——Dom4j。Dom4j是一个流行的Java库,用于处理XML文档。它提供了丰富的API,使得XML的读取、写入、操作变得简单易行。在学习笔记中,通常会涵盖...
XML,全称Extensible Markup Language,可扩展标记语言,是一种用于标记数据的结构化语言,...通过这些学习资料,你将能够深入理解XML的各个方面,从基础语法到高级用法,从而在实际工作中更有效地处理和利用XML数据。
XML,全称可扩展标记语言...学习XML的基础知识,对于理解和处理结构化数据,尤其是进行跨平台的数据交换,是至关重要的。无论是初学者还是经验丰富的开发人员,掌握XML都能提高其在软件开发领域的专业能力。
**DOM4J学习笔记** DOM4J是一个强大的Java XML API,它提供了丰富的XML处理功能,包括文档构建、解析、修改和查询。作为一个开源项目,DOM4J在XML处理领域具有广泛的用户基础,因其简单易用和高效性能而备受青睐。...
本压缩包包含了关于XML的学习笔记、课件和实例,旨在帮助初学者全面理解和掌握XML的核心概念与应用。 XML的基础知识包括以下几个关键点: 1. **XML的基本结构**:XML文档由一系列元素构成,每个元素由起始标签(如...
DOM将整个XML文档加载到内存中,形成一棵树形结构,允许开发者遍历和修改文档的任何部分,适合处理小到中等规模的XML文档。而SAX是一种事件驱动的解析方法,仅在遇到文档元素时触发事件,占用资源较少,适用于处理...
XML的学习不仅包括基础语法,还包括理解XML的结构化概念、元数据、样式处理和DOM等高级主题。对于初学者来说,掌握这些基本知识是迈向专业XML开发的第一步。随着技能的提升,XML可以用于实现复杂的数据交换、数据...
DOM是一种处理HTML和XML文档的标准接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。DOM将文档视为树结构,每个节点代表文档中的某个部分,如元素、属性或文本。 ### DOM选择器与节点操作 在第一个...