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 htc.doc XML实用大全.doc xml学习笔记.doc xml学习笔记.doc
自己的XML DOM4J学习笔记 自己的XML DOM4J学习笔记
XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记
整理了四种常用的Java操作xml的方法 学习java操作xml的好资料
XML DWR 解析dom 解析xml Ajax 杂乱的例子 学习笔记
java学习笔记——使用DOM解析XML和使用SAX解析XML
dom4j 被广泛的应用到xml解析上。这里给出部分网络资源
DOM4J笔记.学习如何应用DOM4J开发XML
学习xml,使用dom4j进行操作的一些例子,其中包含一些从xml中读取数据的案例和通过java操作xml
和 元素可以让我们使用没有在Schema中定义的元素去扩展XML文档。例如,在Schema family.xsd中使用了 </xs:element>
本文档详细的给出了XML的介绍和XML解析的实例。包括DOM4J和SAX解析,节点的名和值得读取,属性的读取。生成XML文件等
自己总结的一份xml学习笔记。内容包括xml文件的书写格式,约束、jaxp及dom4j对xml解析的代码。
NULL 博文链接:https://even2012.iteye.com/blog/1832068
dom4j是目前比较主流的对xml文件进行解析的API。
移动开发的小白树懒正在努力的学习移动开发中的web体系中的xml解析,每天提高自己...
xml.dom篇 DOM是Document Object Model的简称,XML 文档的高级树型表示。该模型并非只针对 Python,而是一种普通XML 模型。Python 的 DOM 包是基于 SAX 构建的,并且包括在 Python 2.0 的标准 XML 支持里。 一、...
java操作xml文件大家可以借鉴一下 利用dom4j第三方jar包 支持增加 删除 修改 查询
XML解析(最重要) DOM: 文档对象模型 将一个XML(html)文档 的每一个元素解析成java中的一个一个的对象 D Document 文档(XML文档) : 磁盘上面的xml文件 O Object 对象(Java对象) : 把xml文件封装成...
学习xml时候的笔记以及心得 1)DOM(JAXP Crimson解析器) 2)SAX 3)JDOM http://www.jdom.org 4)DOM4J http://dom4j.sourceforge.net
1.浏览器对XML DOM的支持 1.1 DOM2级核心 ①在DOM2级在document.implementation中引入了createDocument()方法(IE6~8不支持)。 可以创建一个空白XML。 var xmldom = document.implemention.createDocument...