Module java.xml
Package org.w3c.dom

Interface DocumentFragment

所有超级接口:
Node

public interface DocumentFragment extends Node
DocumentFragment是一个“轻量级”或“最小化”的Document对象。经常需要能够提取文档树的一部分或创建文档的新片段。想象一下实现一个像剪切或重新排列文档的用户命令。拥有一个可以保存这些片段的对象是很有必要的,使用Node来实现这个目的是非常自然的。虽然一个Document对象可以胜任这个角色,但是一个Document对象可能是一个庞大的对象,这取决于底层实现。实际上,这里需要的是一个非常轻量级的对象。DocumentFragment就是这样一个对象。

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

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

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

另请参阅文档对象模型(DOM)Level 3 Core规范