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 文档的文档对象模型如下 −

XML DOM 模型

从上面的流程图,我们可以推断出 −

  • Node 对象只能有一个 parent node 对象。它位于所有节点之上。这里是 Company

  • parent node 可以有多个节点,称为 child 节点。这些 child 节点可以有其他节点,称为 attribute 节点。在上面的例子中,我们有两个属性节点 TechnicalNon-technical属性节点实际上不是元素节点的子节点,但仍与其相关联。

  • 这些节点又可以有多个子节点。节点内的文本称为文本节点。

  • 同一级别的节点对象称为兄弟节点。

  • DOM 标识 −

    • 表示界面和操作文档的对象。

    • 对象和界面之间的关系。