Module  java.xml
软件包  org.w3c.dom

Interface DocumentFragment

  • All Superinterfaces:
    Node


    public interface DocumentFragment
    extends Node
    DocumentFragment是一个“轻量级”或“最小” Document对象。 希望能够提取文档树的一部分或创建文档的新片段是非常常见的。 想象一下,通过移动片段来实现用户命令,如剪切或重排文档。 期望具有可以容纳这样的片段的对象,并且为此目的使用节点是很自然的。 虽然Document对象可以实现此角色,但是Document对象可能是重量级对象,具体取决于底层实现。 真正需要的是一个非常轻量级的对象。 DocumentFragment是这样的对象。

    此外,各种操作 - 例如插入另一个Node子节点 - 可能需要DocumentFragment对象作为参数; 这导致DocumentFragment所有子节点被移动到该节点的子列表。

    DocumentFragment节点的子节点是表示定义文档结构的任何子树的顶部的零个或多个节点。 DocumentFragment节点不需要格式良好的XML文档(尽管他们确实需要遵循强大的格式好的XML解析实体的规则,可以有多个顶级节点)。 例如, DocumentFragment可能只有一个子节点,该子节点可能是一个Text节点。 这样的结构模型既不表示HTML文档也不表示格式良好的XML文档。

    DocumentFragment插入Document (或任何其他Node ,可能需要子女)的子女DocumentFragment ,而不是DocumentFragment本身插入Node 这使得DocumentFragment在用户希望创建兄弟节点时非常有用; DocumentFragment充当这些节点的父节点,以便用户可以使用Node接口的标准方法,如Node.insertBeforeNode.appendChild

    另见Document Object Model (DOM) Level 3 Core Specification