Dom是针对XML的基于树的API,它关注的不仅是解析XML代码,而是使用一系列互相关联的对象来表示这些代码,而这些对象被修改而且无须重新解析代码就能直接访问它们,使用Dom只须解析代码一次来创建一个对模型,dom定义了node接口以及许多种节点类型来表示xml节点的多个方面:
Dom的Node
a--Node的类型
1, document--最顶层的节点,所有的其他节点都是附属于它
2, documentType--DTD引用(<!DOCTYPE>)的对象表现形式,
3, documentFragment--可以像document一样保存其它节点
4, element--表示起始标签和结束标签之间内容,这是唯一可以同时包含特性和子节点的节点类型
5, attr--代表一对特性名和特性值,这个节点类型不能包含子节点
6, text--代表xml文档在起始标签和结束标签之间的文本
7, others..
b--类型12个常量
1, Node.ELEMENT_NODE(1)
2, Node.ATTRIBUTE_NODE(2)
3, Node.TEXT_NODE(3)
4, Node.CDATA_SECTION_NODE(4)
5, Node.ENTITY_REFERENCE_NODE(5)
6, Node.ENTITY_NODE(6)
7, Node.PROCESSING_INSTRUCTION_NODE(7)
8, Node.COMMENT_NODE(8)
9, Node.DOCUMENT_NODE(9)
10, Node.DOCUMENT_TYPE_NODE(10)
11, Node.DOCUMENT_FRAGMENT_NODE(11)
12, Node.NOTATION_NODE(12)
c--特性
1, nodeName
2, nodeValue
3, nodeType
4, ownerDocument Document 指向这个节点所属的文档
5, firstChild
6, lastChild
7, childNodes
8, previousSibling
9, nextSibling
10, attributes NamedNodeMap 包含了代表一个元素的特性的Attr对象,仅用于Element节点
d--方法
1, hasChildNodes()
2, appendChild(node) Node 将node添加到childNodes的末尾
3, removeChild(node) Node 从childNodes删除node
4, replaceChild(newNode,oldNode) Node 将childNodes中的的oldNode替换成newNode
5, insertBefore(newNode,refNode) Node 在childNodes中的refNode之前插入newNod
e--other..
NodeList--节点数组,按照数值进行索引,用来表示一个元素的子节点
NamedNodeMap--同时用数值和名字进行索引的节点表,用于表示元素特性