XML DOM - 模型
现在我们知道了 DOM 的含义,让我们看看什么是 DOM 结构。DOM 文档是按层次结构组织的 节点 或信息片段的集合。某些类型的 节点 可能有各种类型的 子 节点,而其他类型的节点则是叶节点,在文档结构中它们下面不能有任何内容。以下是节点类型的列表,以及它们可能作为子节点的节点类型列表 −
Document − 元素(最多一个)、ProcessingInstruction、注释、DocumentType(最多一个)
DocumentFragment −元素、ProcessingInstruction、注释、文本、CDATASection、EntityReference
EntityReference − 元素、ProcessingInstruction、注释、文本、CDATASection、EntityReference
Element − 元素、文本、注释、ProcessingInstruction、CDATASection、EntityReference
Attr − 文本、EntityReference
ProcessingInstruction − 无子元素
Comment − 无子元素
Text − 无子元素
CDATASection −无子元素
Entity − 元素、ProcessingInstruction、注释、文本、CDATASection、EntityReference
Notation − 无子元素
示例
考虑以下 XML 文档 node.xml 的 DOM 表示。
<?xml version = "1.0"?> <Company> <Employee category = "technical"> <FirstName>Tanmay</FirstName> <LastName>Patil</LastName> <ContactNo>1234567890</ContactNo> </Employee> <Employee category = "non-technical"> <FirstName>Taniya</FirstName> <LastName>Mishra</LastName> <ContactNo>1234667898</ContactNo> </Employee> </Company>
上述 XML 文档的文档对象模型如下 −

从上面的流程图,我们可以推断出 −
Node 对象只能有一个 parent node 对象。它位于所有节点之上。这里是 Company。
parent node 可以有多个节点,称为 child 节点。这些 child 节点可以有其他节点,称为 attribute 节点。在上面的例子中,我们有两个属性节点 Technical 和 Non-technical。 属性节点实际上不是元素节点的子节点,但仍与其相关联。
这些子节点又可以有多个子节点。节点内的文本称为文本节点。
同一级别的节点对象称为兄弟节点。
DOM 标识 −
表示界面和操作文档的对象。
对象和界面之间的关系。