2.NodeList接口
NodeList接口提供了对节点集合的抽象定义,它并不包含如何实现这个节点集的定义。NodeList用于表示有顺序关系的一组节点,比如某个节点的子节点序列。另外,它还出现在一些方法的返回值中,例如GetNodeByName。
在DOM中,NodeList的对象是"live"的,换句话说,对文档的改变,会直接反映到相关的NodeList对象中。例如,如果通过DOM获得一个NodeList对象,该对象中包含了某个Element节点的所有子节点的集合,那么,当再通过DOM对Element节点进行操作(添加、删除、改动节点中的子节点)时,这些改变将会自动地反映到NodeList对象中,而不需DOM应用程序再做其他额外的操作。
NodeList中的每个item都可以通过一个索引来访问,该索引值从0开始。
Method Summary
int
列表中节点长度
item(int index)
返回第index个节点
3.NamedNodeMap接口
实现了NamedNodeMap接口的对象中包含了可以通过名字来访问的一组节点的集合。不过注意,NamedNodeMap并不是从NodeList继承过来的,它所包含的节点集中的节点是无序的。尽管这些节点也可以通过索引来进行访问,但这只是提供了枚举NamedNodeMap中所包含节点的一种简单方法,并不表明在DOM规范中为NamedNodeMap中的节点规定了一种排列顺序。
NamedNodeMap表示的是一组节点和其唯一名字的一一对应关系,这个接口主要用在属性节点的表示上。
与NodeList相同,在DOM中,NamedNodeMap对象也是"live"的。
Method Summary
int
得到映射中的节点个数
getNamedItem(java.lang.String name)
通过唯一名字得到一个节点
getNamedItemNS(java.lang.String namespaceURI, java.lang.String localName)
通过本地名和命名空间的URI得到唯一的节点
item(int index)
得到在影射中的第index个节点
removeNamedItem(java.lang.String name)
通过唯一名字删除一个节点
removeNamedItemNS(java.lang.String namespaceURI, java.lang.String localName)
通过本地名和命名空间删除唯一的节点
setNamedItem(Node arg)
用arg增加一个节点
setNamedItemNS(Node arg)
用命名空间的URI和当地名增加一个节点
高级接口:
Interface Summary
代表元素对象的属性
DTD或模式中的CDATA项用于将不希望被解释为标记的文本块“转义”。在DTD中,使用<!CDATA…>声明
在DOM中,提供一套方法和属性操作字符数据
代表注释元素的内容
Document接口描述了整个HTML或XML文档
DocumentFragment是一个轻量对象,他可以创建新的文档片断,然后将整个片断插入到一有的文档中
包含文档的类型声明或模式信息
该对象允许访问与应用程序相关且独立于任何特定的文档对象模型实例的方法
代表HTML/XML文档中的元素,常见元素有:Element、Attr、Text
代表在DTD中以元素<!ENTITY…>声明的解析的或未解析的实体
代表XML文档中的实体引用节点,如果XML处理器在构建结构模型时展开了实体引用,树中可能不会出现实体引用对象。
代表在DTD或模式中以元素<!NOTATION…>声明表示法
代表通过’<?’和’?>’嵌入XML的指令,它提供了在XML文档中保存与处理器相关的信息的方法
代表元素节点或属性节点的文本内容
重要的节点类型
从NODE派生出的几个比较重要的节点类型有Document Element, Attribute,Text:
Document是DOM树的根,它代表一个完整的XML文档。它会有一些自己的子节点,至少应该有一个文档元素的子节点,这个节点类型为Element,是XML文件最外层的根元素,此外他还可能有DocumentType(唯一),ProcessingInstruction,Comment这几种作为子节点。
Element代表XML元素,是最常用的节点,它可以组成以它为根的DOM的子树。他还可以有Element子节点,以及Attribut,Text,ProcessingInstruction,CDATASection,Comment子节点。
Attribute是XML元素的属性,它的父节点必然是Element,它的子节点有Text和EntityReference;
Text代表元素节点或属性节点的文本内容。