public interface DocumentFragment extends Node
DocumentFragment
是一个“轻量级”或“最小” Document
对象。
希望能够提取文档树的一部分或创建文档的新片段是非常常见的。
想象一下,通过移动片段来实现用户命令,如剪切或重排文档。
期望具有可以容纳这样的片段的对象,并且为此目的使用节点是很自然的。
Document
对象确实可以实现此角色, Document
对象可能是重量级对象,具体取决于底层实现。
真正需要的是一个非常轻量级的对象。
DocumentFragment
是这样的对象。
此外,各种操作 - 例如将节点作为另一个Node
子节点Node
- 可能需要DocumentFragment
对象作为参数; 这导致DocumentFragment
所有子节点被移动到该节点的子列表。
DocumentFragment
节点的DocumentFragment
节点是表示定义文档结构的任何子树的顶部的零个或多个节点。 DocumentFragment
节点不需要格式良好的XML文档(尽管他们确实需要遵循强大的格式好的XML解析实体的规则,可以有多个顶级节点)。 例如, DocumentFragment
可能只有一个子节点,该子节点可能是Text
节点。 这样的结构模型既不表示HTML文档也不表示格式良好的XML文档。
当DocumentFragment
插入到Document
(或任何其他Node
,可能需要子女)的子女DocumentFragment
,而不是DocumentFragment
自身插入到Node
。 这使得DocumentFragment
非常有用,当用户希望创建的节点是兄弟姐妹; DocumentFragment
充当这些节点的父节点,以便用户可以使用Node
接口的标准方法,如Node.insertBefore
和Node.appendChild
。
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData