`

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的属性来表达的,当被映
射到具体的语言时,这些属性被映射为相应的方法
分享到:
评论

相关推荐

    XMLDOM对象方法中文手册chm

    这个"XMLDOM对象方法中文手册chm"提供了关于XML DOM在中文环境下的详细指南,对于理解和应用XML DOM技术至关重要。 1. **XML DOM基本概念** - DOM是一种与平台和语言无关的接口,它将XML文档解析为一个树形结构,...

    XMLDOM对象方法手册

    在JavaScript中,可以使用`ActiveXObject`来创建XMLDOM对象,例如: ```javascript var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); ``` 这将创建一个空的XMLDOM实例,可以用于加载XML文档。 2. **加载...

    xmldom

    在这个chm格式的文件“XMLDOM对象方法手册”中,很显然包含了关于XMLDOM核心对象——XMLDocument的所有方法和属性的详尽指南。 XMLDocument对象是XMLDOM的核心,它是整个XML文档的根节点,代表了一个完整的XML文件...

    javascript 操作xml_dom对象整理集合

    JavaScript操作XML DOM对象是Web开发中的重要技能,尤其在处理数据交换、页面动态更新和跨平台通信时。本文将深入探讨这一主题,并结合JavaScript技巧,为开发者提供一个全面的指导。 1. **DOM(文档对象模型)基础...

    XMLDOM对象方法手册.chm+XPath.chm

    XMLDOM对象方法手册.chm是关于XMLDOM接口及其方法的详细参考资料,它通常包含了如何使用这些方法来查询、修改和操作XML文档的详细信息。手册中可能包括了如以下内容: 1. **createNode**:创建新的XML节点,可以是...

    XML_DOM 教程 XML_DOM 教程

    在学习XML DOM时,实践是至关重要的。通过编辑器编写XML代码,并实时查看结果,可以加深对DOM的理解。W3School提供了这样的实例,让你可以尝试编辑源代码并立即看到效果。 **XML DOM节点** 在DOM中,XML文档的每一...

    XML教程之DOM对象参考手册 chm

    这个“XML教程之DOM对象参考手册”提供了详细的操作指南,无论是在Web开发、服务器端处理还是数据交换场景中,都能帮助开发者高效地解析和操作XML数据。由于CNSXML官方网站已停止服务,这份资料显得尤为珍贵,它保存...

    XML教程之DOM对象参考手册电子文档格式,非常好的教程。

    本教程主要围绕DOM对象展开,旨在帮助学习者深入理解DOM模型,并掌握如何在实际项目中运用DOM进行XML文档的解析和处理。以下是对DOM对象及其相关知识点的详细说明: 1. DOM基本概念:DOM是一个国际标准,由W3C组织...

    【学习 XML DOM】.pdf

    【学习 XML DOM】.pdf 是一份关于 XML DOM(文档对象模型)的学习资料,XML DOM 是一种 W3C 标准,它定义了如何访问和操作XML文档的规范。DOM 将XML文档解析成一个树形结构,每个组成部分都称为一个节点。理解XML ...

    xmldom对象模型手册

    在这个"xmldom对象模型手册"中,我们将会深入探讨XMLDOM的核心概念、使用方法以及在实际开发中的应用。 首先,XMLDOM提供了对XML文档的树状结构表示,每个XML元素都被映射为一个DOM节点。这些节点包括元素节点、...

    XmlDom - 全能最强XML模块

    此外,XmlDom也支持XML字符串的序列化和反序列化,即把XML文档对象转换成字符串,或者从字符串中构建XML文档: ```python xml_string = doc.toprettyxml() new_doc = minidom.parseString(xml_string) ``` 标签...

    XMLDOM对象方法手册.rarXMLDOM对象方法手册.rar

    学习XMLDOM对象方法手册,开发者可以深入理解XML数据的处理,提高在网页应用中处理XML数据的效率。无论是在动态网页、服务器端脚本还是XML数据交换中,XMLDOM都是一个重要的工具。通过阅读这份手册,你可以掌握XML...

    XML&DOM帮助文档.rar

    在这样的教程中,你可能会学到如何创建DOM对象、查找和遍历XML节点、修改或添加节点、以及如何使用DOM处理命名空间等高级主题。 "XML入门手册.chm" 另一本手册可能更专注于XML的基础知识,包括XML声明、元素、属性...

    DOM_XML.rar_DOM_dom xml_dom xml java_dom解析xml_java解析xml

    标题中的"DOM_XML.rar"可能是一个包含DOM解析XML相关示例的压缩文件,"DOM_dom xml_dom xml java_dom解析xml_java解析xml"这部分描述了文件的主要内容,即关于DOM(Document Object Model)在XML解析中的应用,特别...

Global site tag (gtag.js) - Google Analytics