DOM 是语言无关的 API.谈论 DOM 树的时候指的是节点的层次
[list]
[*]Document - 最顶层节点,其他节点附属于它
[*]DocumentType - DTD 引用节点
[*]DocumentFragment - 可以像 Document 一样保存其他节点
[*]Element - 表示起始标签和结束标签之间的内容
[*]Attr - 表示属性名和 value
[*]Text - 表示标签之间的文本,或者 CDATA section 包含的文本
[*]CDataSection - 节点
[*]Entity - Entity 定义节点,<!ENTITY foo "foo">
[*]EntityReference - 实体引用节点 , "
[*]ProcessingInstruction - PI 节点
[*]Comment - 注释节点
[*]Notation - 表示 DTD 中定义的记号
[/list]
一个 example:
[img]http://photo1.bababian.com/upload14/20081120/8DB8AA68D2A02DA1E4B29C9A69262108_500.jpg" alt="[/img]
Node 接口定义了12 个常量
[list]
[*]Node.ELEMENT_NODE(1)
[*]Node.ATTRIBUTE_NODE(2)
[*]Node.TEXT_NODE(3)
[*]Node.CDATA_SECTION_NODE(4)
[*]Node.ENTITY_REFERENCE_NODE(5)
[*]Node.ENTITY_NODE(6)
[*]Node.PROCESSING_INSTRUCTION_NODE(7)
[*]Node.COMMENT_NODE(8)
[*]Node.DOCUMENT_NODE(9)
[*]Node.DOCUMENT_TYPE_NODE(10)
[*]Node.DOCUMENT_FRAGMENT_NODE(11)
[*]Node.NOTATION_NODE(12)
[/list]
一些属性和方法
[b]属性/方法[/b] [b]返回类型[/b] [b]说明[/b]
nodeName String 节点名字
nodeVale String
nodeType Number
ownerDocument Document 指向节点所属 Document
firstChild Node childNodes 中第一个
lastChild Node childNodes 中最后一个
childNodes NodeList 子节点列表
previousSibling Node 前一个兄弟,如果该节点是第一个返回null
nextSibling Node 后一个兄弟,如果该节点是最后一个返回null
hasChildNodes Boolean 是否包含子节点
attributes NamedNodeMap
appendChild(node) Node 添加Node 到 childNodes 末尾
removeChild(node) Node 从 childNodes 中删除 node
replaceChild(newnode, oldnode) Node 替换
insertBefore(newnode, refnode) Node 插入到 refnode 之前
[list]
[*]NodeList - 节点数组,按数值索引
[*]NamedNodeMap - 同时用数值名字索引的节点表
[/list]
[list]
[*]Document - 最顶层节点,其他节点附属于它
[*]DocumentType - DTD 引用节点
[*]DocumentFragment - 可以像 Document 一样保存其他节点
[*]Element - 表示起始标签和结束标签之间的内容
[*]Attr - 表示属性名和 value
[*]Text - 表示标签之间的文本,或者 CDATA section 包含的文本
[*]CDataSection - 节点
[*]Entity - Entity 定义节点,<!ENTITY foo "foo">
[*]EntityReference - 实体引用节点 , "
[*]ProcessingInstruction - PI 节点
[*]Comment - 注释节点
[*]Notation - 表示 DTD 中定义的记号
[/list]
一个 example:
<?xml version="1.0">
<employees>
<!-- only employee -->
<employee>
<name>Tom</name>
<position>Programmer</position>
<comments><![CDATA[his birthday is 8/23/1998]]></comments>
</employee>
<employees>
[img]http://photo1.bababian.com/upload14/20081120/8DB8AA68D2A02DA1E4B29C9A69262108_500.jpg" alt="[/img]
Node 接口定义了12 个常量
[list]
[*]Node.ELEMENT_NODE(1)
[*]Node.ATTRIBUTE_NODE(2)
[*]Node.TEXT_NODE(3)
[*]Node.CDATA_SECTION_NODE(4)
[*]Node.ENTITY_REFERENCE_NODE(5)
[*]Node.ENTITY_NODE(6)
[*]Node.PROCESSING_INSTRUCTION_NODE(7)
[*]Node.COMMENT_NODE(8)
[*]Node.DOCUMENT_NODE(9)
[*]Node.DOCUMENT_TYPE_NODE(10)
[*]Node.DOCUMENT_FRAGMENT_NODE(11)
[*]Node.NOTATION_NODE(12)
[/list]
一些属性和方法
[b]属性/方法[/b] [b]返回类型[/b] [b]说明[/b]
nodeName String 节点名字
nodeVale String
nodeType Number
ownerDocument Document 指向节点所属 Document
firstChild Node childNodes 中第一个
lastChild Node childNodes 中最后一个
childNodes NodeList 子节点列表
previousSibling Node 前一个兄弟,如果该节点是第一个返回null
nextSibling Node 后一个兄弟,如果该节点是最后一个返回null
hasChildNodes Boolean 是否包含子节点
attributes NamedNodeMap
appendChild(node) Node 添加Node 到 childNodes 末尾
removeChild(node) Node 从 childNodes 中删除 node
replaceChild(newnode, oldnode) Node 替换
insertBefore(newnode, refnode) Node 插入到 refnode 之前
[list]
[*]NodeList - 节点数组,按数值索引
[*]NamedNodeMap - 同时用数值名字索引的节点表
[/list]