- 所有超级接口:
-
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, substringDataMethods 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
-