- 所有超级接口:
-
CharacterData
,Node
- 所有已知子接口:
-
CDATASection
Text
接口继承自CharacterData
,表示Element
或Attr
中的文本内容(在XML中称为字符数据)。如果元素内容中没有标记,文本内容将包含在实现Text
接口的单个对象中,该对象是元素的唯一子元素。如果存在标记,则将其解析为信息项(元素、注释等)和形成元素子节点列表的Text
节点。
当文档首次通过DOM可用时,每个文本块只有一个Text
节点。用户可以创建相邻的Text
节点,表示给定元素的内容而没有任何中间标记,但应注意在XML或HTML中无法表示这些节点之间的分隔,因此它们通常不会在DOM编辑会话之间保留。 Node.normalize()
方法将任何这样相邻的Text
对象合并为每个文本块的单个节点。
对Text
节点的内容不进行词法检查,并且根据其在文档中的位置,某些字符必须在序列化时使用字符引用进行转义;例如,如果文本内容是元素或属性的一部分,则字符"<&",如果是元素的一部分,则字符序列"]]>",如果是属性的一部分,则是引号字符"或撇号字符'。
-
Field Summary
Fields declared in interface org.w3c.dom.Node
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
-
Method Summary
Modifier and TypeMethodDescription返回与此节点逻辑相邻的所有Text
节点的文本,按文档顺序连接在一起。boolean
返回此文本节点是否包含元素内容空白,通常被滥用地称为“可忽略空白”。replaceWholeText
(String content) 用指定的文本替换当前节点和所有逻辑相邻的文本节点的文本。splitText
(int offset) 在指定的offset
处将此节点分成两个节点,将两个节点作为兄弟节点保留在树中。Methods declared in interface org.w3c.dom.CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
Methods declared in interface org.w3c.dom.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
-
Method Details
-
splitText
在指定的offset
处将此节点分成两个节点,将两个节点作为兄弟节点保留在树中。分割后,此节点将包含直到offset
点的所有内容。将返回一个新节点,该节点具有相同类型,其中包含offset
点后的所有内容。如果原始节点有父节点,则新节点将插入为原始节点的下一个兄弟节点。当offset
等于此节点的长度时,新节点将不包含数据。- 参数:
-
offset
- 从0
开始的16位单位偏移量。 - 返回:
- 与此节点相同类型的新节点。
- 抛出:
-
DOMException
- INDEX_SIZE_ERR: 如果指定的偏移量为负数或大于data
中的16位单位数,则引发。
NO_MODIFICATION_ALLOWED_ERR: 如果此节点是只读的,则引发。
-
isElementContentWhitespace
boolean isElementContentWhitespace()返回此文本节点是否包含元素内容空白,通常被滥用地称为“可忽略空白”。在加载文档期间或使用Document.normalizeDocument()
进行验证时,确定文本节点是否包含元素内容中的空白。- 自:
- 1.5, DOM Level 3
-
getWholeText
String getWholeText()返回与此节点逻辑相邻的所有Text
节点的文本,按文档顺序连接在一起。
例如,在下面的示例中,包含“bar”的Text
节点上的wholeText
返回“barfoo”,而包含“foo”的Text
节点上返回“barfoo”。+-----+ | <p> | +-----+ /\ / \ /-----\ +-------+ | bar | | &ent; | \-----/ +-------+ | | /-----\ | foo | \-----/
图:barTextNode.wholeText值为“barfoo”- 自:
- 1.5, DOM Level 3
-
replaceWholeText
用指定的文本替换当前节点和所有逻辑相邻的文本节点的文本。所有逻辑相邻的文本节点都将被移除,包括当前节点,除非当前节点是替换文本的接收者。此方法返回接收替换文本的节点。返回的节点是:
null
,当替换文本为空字符串时;- 当前节点,除非当前节点是只读的;
- 与当前节点相同类型(
Text
或CDATASection
)的新Text
节点,插入到替换位置。
例如,在上面的示例中,对包含“bar”的
Text
节点调用replaceWholeText
,参数为“yo”,将导致以下结果:+-----+ | <p> | +-----+ | | /-----\ | yo | \-----/
图:barTextNode.replaceWholeText("yo")将barTextNode的文本内容修改为“yo”如果要删除的节点是
EntityReference
的只读后代,则必须删除EntityReference
而不是只读节点。如果要删除的任何EntityReference
具有不是EntityReference
、Text
或CDATASection
节点的后代,则在执行任何文档修改之前,replaceWholeText
方法必须失败,引发代码为NO_MODIFICATION_ALLOWED_ERR
的DOMException
。例如,在下面的示例中,对包含“bar”的
Text
节点调用replaceWholeText
将失败,因为EntityReference
节点“ent”包含无法移除的Element
节点。- 参数:
-
content
- 替换Text
节点的内容。 - 返回:
-
使用指定内容创建的
Text
节点。 - 抛出:
-
DOMException
- NO_MODIFICATION_ALLOWED_ERR: 如果要替换的Text
节点之一是只读的。 - 自:
- 1.5, DOM Level 3
-