模块  java.xml
软件包  org.w3c.dom

Interface DocumentFragment

  • All Superinterfaces:
    Node

    public interface DocumentFragmentextends 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