`

xml中DOM对象的学习

XML 
阅读更多
DOM的基本对象有5个:Document,Node,NodeList,Element和Attr。
下面就这些对象的功能和实现的方法作一个大致的介绍


Document对象代表了整个XML的文档,所有其它的Node,都以一定的顺序包含在Document对象之内,
排列成一个树形的结构,程序员可以通过遍历这颗树来得到XML文档的所有的内容,这也是对XML文
档操作的起点。我们总是先通过解析XML源文件而得到一个Document对象,然后再来执行后续的操
作。此外,Document还包含了创建其它节点的方法,比如createAttribut()用来创建一个Attr对象。
它所包含的主要的方法有:

createAttribute(String):
用给定的属性名创建一个Attr对象,并可在其后使用
setAttributeNode
方法来放置在某一个Element对象上面。

createElement(String):
用给定的标签名创建一个Element对象,代表XML文档中的一个标签,然后就可以在这个Element对象
上添加属性或进行其它的操作。

createTextNode(String):
用给定的字符串创建一个Text对象,Text对象代表了标签或者属性中所包含的纯文本字符串。如果在
一个标签内没有其它的标签,那么标签内的文本所代表的Text对象是这个Element对象的唯一子对象。

getElementsByTagName(String):
返回一个NodeList对象,它包含了所有给定标签名字的标签。

getDocumentElement():
返回一个代表这个DOM树的根节点的Element对象,也就是代表XML文档根元素的那个对象。

Node对象是DOM结构中最为基本的对象,代表了文档树中的一个抽象的节点。在实际使用的时候,很少
会真正的用到Node这个对象,而是用到诸如Element、Attr、Text等Node对象的子对象来操作文档。
Node对象为这些对象提供了一个抽象的、公共的根。虽然在Node对象中定义了对其子节点进行存取的方
法,但是有一些Node子对象,比如Text对象,它并不存在子节点,这一点是要注意的。
Node对象所包含的主要的方法有:

appendChild(org.w3c.dom.Node):
为这个节点添加一个子节点,并放在所有子节点的最后,如果这个子节点已经存在,则先把它删掉再添加进去。

getFirstChild():
如果节点存在子节点,则返回第一个子节点,对等的,还有getLastChild()方法返回最后一个子节点。

getNextSibling():
返回在DOM树中这个节点的下一个兄弟节点,对等的,还有getPreviousSibling()方法返回其前一个兄弟节点。

getNodeName():
根据节点的类型返回节点的名称。

getNodeType():
返回节点的类型。

getNodeValue():
返回节点的值。

hasChildNodes():
判断是不是存在有子节点。

hasAttributes():
判断这个节点是否存在有属性。

getOwnerDocument():
返回节点所处的Document对象。

insertBefore(org.w3c.dom.Node new,org.w3c.dom.Node ref):
在给定的一个子对象前再插入一个子对象。

removeChild(org.w3c.dom.Node):
删除给定的子节点对象。

replaceChild(org.w3c.dom.Node new,org.w3c.dom.Node old):
用一个新的Node对象代替给定的子节点对象。

NodeList对象,顾名思义,就是代表了一个包含了一个或者多个Node的列表。可以简单的把它看成
一个Node的数组,我们可以通过方法来获得列表中的元素:

GetLength():
返回列表的长度。

Item(int):
返回指定位置的Node对象。

Element对象代表的是XML文档中的标签元素,继承于Node,亦是Node的最主要的子对象。在标签中
可以包含有属性,因而Element对象中有存取其属性的方法,而任何Node中定义的方法,
也可以用在Element对象上面。

getElementsByTagName(String):
返回一个NodeList对象,它包含了在这个标签中其下的子孙节点中具有给定标签名字的标签。

getTagName():
返回一个代表这个标签名字的字符串。

getAttribute(String):
返回标签中给定属性名称的属性的值。在这儿需要主要的是,应为XML文档中允许有实体属性出现,
而这个方法对这些实体属性并不适用。这时候需要用到getAttributeNodes()方法来得到一个Attr对象来进行进一步的操作。

getAttributeNode(String):
返回一个代表给定属性名称的Attr对象。

Attr对象代表了某个标签中的属性。Attr继承于Node,但是因为Attr实际上是包含在Element中的,
它并不能被看作是Element的子对象,因而在DOM中Attr并不是DOM树的一部分,
所以Node中的getparentNode(),getpreviousSibling()和getnextSibling()返回的都将是null。
也就是说,Attr其实是被看作包含它的Element对象的一部分,它并不作为DOM树中单独的一个节点出现。
这一点在使用的时候要同其它的Node子对象相区别。

需要说明的是,上面所说的DOM对象在DOM中都是用接口定义的,在定义的时候使用的是与具体语言
无关的IDL语言来定义的。因而,DOM其实可以在任何面向对象的语言中实现,只要它实现了DOM所定
义的接口和功能就可以了。同时,有些方法在DOM中并没有定义,是用IDL的属性来表达的,当被映
射到具体的语言时,这些属性被映射为相应的方法
分享到:
评论

相关推荐

    XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记

    XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记

    使用DOM解析XML和使用SAX解析XML

    java学习笔记——使用DOM解析XML和使用SAX解析XML

    javascript学习基础笔记之DOM对象操作

    DOM对象给予开发者对HTML的访问权限,并且使开发者能将HTML作为XML文档来处理和查看。DOM对象是与语言无关的API,意味着它的实现并不是与javascript绑定,这在于初学者来说可能会理解错误。DOM是针对XML的基于树的...

    学习DOM,学习DOM

    DOM(Document Object Model),文档对象模型,是针对XML的基于树的应用程序接口(API),它的实现有很多(各语言基本都有自己的实现),我们这儿讨论的是javascript中或者说xhtml(html)对DOM的实现..........

    XML学习指南pdf

    2.2.2 在Internet Explorer 5中获取XML 错误 2.2.3 使用级联样式表显示XML文档 第二部分 创建XML文档 第3章 创建格式正确的XML文档 3.1 一个格式正确的XML文档的组成部分 3.2 给文档添加元素 3.2.1 元素的剖析...

    XML应用开发(软件品牌)-1期 第6单元 单元案例-使用DOM对象接口实现图书信息的添加、删除和修改.doc

    XML应用开发(软件品牌)-1期 第6单元 单元案例-使用DOM对象接口实现图书信息的添加、删除和修改.doc 学习资料 复习资料 教学资源

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    在XML中,就是要将网页也作为一个对象来操作和控制,我们可以建立自己的对象和模板。与对象进行交流,如何命令对象,就要用到API。API全称Application Programming Interface,它是访问和操作对象的规则。而DOM就是...

    XML应用开发(软件品牌)-1期 第6单元 单元项目实践-使用DOM对象接口实现商品清单的增、删、改操作.doc

    XML应用开发(软件品牌)-1期 第6单元 单元项目实践-使用DOM对象接口实现商品清单的增、删、改操作.doc 学习资料 复习资料 教学资源

    【学习笔记】:DOM对象及事件绑定

    文章目录一、DOM的概念二、DHTML与HTML DOM三、Document对象获取元素方法四、Element对象与属性相关方法五、对DOM对象的操作1、DOM对象的属性2、创建元素3、挂载元素4、删除元素5、克隆元素六、调整元素样式的方式七...

    Java+flex使用dom4j读写xml

    这个小例子是使用Java作为服务端、Flex做前台,对一个xml文件的读取和写入。 环境:MyEclipse6.0.1+Flex3...总结:对Flex和Java对象之间的转换还要进一步的研究,认识到Flex中样式的重要性。Flex的控件还要进一步学习。

    xml 学习课件

    第1章引论.ppt ...第3章XML基础.ppt 第4章XML文档类型定义.ppt 第5章XMLSchema结构.ppt 第6章层叠样式表.ppt 第7章XML数据源对象.ppt 第8章XSL转换.ppt 第9章XML文档对象模型-DOM.ppt 第10章XML编程技术.ppt

    python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)

    xml.dom篇  DOM是Document Object Model的...minidom.parse(filename):加载读取XML文件doc.documentElement:获取XML文档对象node.getAttribute(AttributeName):获取XML节点属性值node.getElementsByTagName(TagNa

    [XML入门经典(第4版)].(Beginning.XML.4th.Edition).(美)亨特,(美)拉夫特,(美)福思特.扫描版.pdf

    《XML入门经典(第4版)》自第1版出版以来,一直是广大程序员学习XML的优秀入门教程。该书全面详实地介绍了XML的基本语法、基本用途和常用的开发工具和方法。全书共21章,分为8个专题。主要内容有XML基本语法、DTD、...

    疯狂xml讲义

    其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用SQL查询关系数据库的数据一样...

    XML应用实例建立电子商务应用

    通过对本书的学习,读者可以理解DOM(文档对象模型)的关键作用,并看到XML在高级电子商务应用程序中的成功案例;创建、结构化、分析、显示、链接和脚本编程XML文档:使用高级XML 工具,使站点开发流线化;学习XLL...

    疯狂XML讲义 源码

    其中的DOM、SAX、JAXP、dom4i和JDOM都以结构化的方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而XQuery则是一种新规范,通过X Query可以查询XML,文档中的数据,就像使用SQL查询关系数据库的数据...

    疯狂XML讲义

    JDOM、XQuery和XQJ等,其中的DOM、SAX、JAXP、dom4j和JDOM都以结构化的, 方式来创建、解析XML文档,从而可以将XML文档作为数据传输工具,而, XQuery则是一种新规范,通过XQuery可以查询XML文档中的数据,就像使用, ...

    XML入门经典(第4版).part1.rar

    《XML入门经典(第4版)》读者对象:《XML入门经典(第4版)》适用任何对XML用法感兴趣的程序员使用,当然也适合广大的XML初学人员入门。如果具有一定的Web编程或数据转换经验,阅读起来将更为容易。 编辑推荐 《XML入门...

Global site tag (gtag.js) - Google Analytics