public interface Text extends CharacterData
Text接口从继承CharacterData和表示文本内容(称为character data一个在XML) Element或Attr 。
如果元素内容中没有标记,则该文本包含在实现Text接口的单个对象中,该Text是该元素的唯一子元素。
如果有标记,则将其分解为形成元素子元素列表的信息项(元素,注释等)和Text节点。
当文档首先通过DOM Text ,每个文本块只有一个Text节点。 用户可以创建表示给定元素的内容的邻近的Text节点,而不需要任何中间标记,但是应该意识到无法在XML或HTML中表示这些节点之间的分离,因此它们不会(通常)在DOM编辑会话。 Node.normalize()方法将任何此类相邻的Text对象合并到每个文本块的单个节点中。
没有对Text节点的内容进行词法检查,根据文档的位置,在使用字符引用的序列化过程中必须转义一些字符; 例如字符“<&”,如果文本内容是元素或属性的一部分,字符序列“]]>”当元素的一部分,引号字符或撇号字符“当属性的一部分时。
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| Modifier and Type | Method and Description |
|---|---|
String |
getWholeText()
返回
Text节点的逻辑相邻文本节点的所有文本到此节点,以文档顺序连接。
|
boolean |
isElementContentWhitespace()
返回此文本节点是否包含
element content whitespace ,经常被称为“可忽略的空白”。
|
Text |
replaceWholeText(String content)
用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。
|
Text |
splitText(int offset)
将此节点拆分两个节点在指定的
offset ,无论是在树中的兄弟姐妹是一致的。
|
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringDataappendChild, 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, setUserDataText splitText(int offset) throws DOMException
offset两个节点,保持树中的兄弟姐妹。
分裂后,此节点将包含所有内容,直到offset点。
返回相同类型的新节点,其中包含offset点之后的所有内容。
如果原始节点具有父节点,则将新节点作为原始节点的下一个兄弟节点插入。
当offset等于该节点的长度时,新节点没有数据。
offset - 从
0开始的16位单位偏移量。
DOMException - INDEX_SIZE_ERR:如果指定的偏移量为负或大于data中的16位单元数,则data 。
boolean isElementContentWhitespace()
Document.normalizeDocument()时发生Document.normalizeDocument() 。
String getWholeText()
Text节点逻辑相邻的文本节点到此节点的所有文本,以文档顺序连接。
wholeText的上Text包含“栏中的”返回“barfoo”,而在节点Text包含节点“foo”的则返回“barfoo”。
+-----+
| <p> |
+-----+
/\
/ \
/-----\ +-------+
| bar | | &ent; |
\-----/ +-------+
|
|
/-----\
| foo |
\-----/
图:barTextNode.wholeText值是“barfoo”
Text replaceWholeText(String content) throws DOMException
此方法返回接收替换文本的节点。 返回的节点是:
null ,当替换文本为空字符串时; Text节点( Text或CDATASection )相同。 例如,在上面的例子中,在Text节点上调用replaceWholeText节点,其中包含“bar”和“yo”在参数中的结果如下:
+-----+
| <p> |
+-----+
|
|
/-----\
| yo |
\-----/
图:barTextNode.replaceWholeText(“yo”)用“yo”修改barTextNode的文本内容
要删除的节点是EntityReference的只读EntityReference ,必须删除EntityReference而不是只读节点。 如果任何EntityReference要去除具有不后代EntityReference , Text ,或CDATASection节点,所述replaceWholeText方法必须在执行该文件的任何修改,养之前失败DOMException与代码NO_MODIFICATION_ALLOWED_ERR 。
例如,在下面的示例中,在包含“bar”的Text节点上调用replaceWholeText失败,因为EntityReference节点“ent”包含无法删除的Element节点。
content - 替换
Text节点的内容。
Text节点。
DOMException - NO_MODIFICATION_ALLOWED_ERR:如果正在替换的
Text节点中的一个被显示为
DOMException ,则会引发。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.