-
- All Superinterfaces:
-
CharacterData
,Node
- All Known Subinterfaces:
-
CDATASection
,Text
public interface Text extends CharacterData
Text
接口继承自CharacterData
,代表Element
或Attr
的文本内容(名称为character data )。 如果元素内容中没有标记,则该文本包含在实现元素唯一子Text
实现Text
接口的单个对象中。 如果有标记,它将被分解成组成元素列表的信息项(元素,注释等)和Text
节点。当文档首先通过DOM可用时,每个文本块只有一个
Text
节点。 用户可以创建表示给定元素的内容的邻近的Text
节点,而不需要任何中间标记,但是应该意识到无法在XML或HTML中表示这些节点之间的分离,因此它们不会(通常)在DOM编辑会话。Node.normalize()
方法将任何此类相邻的Text
对象合并到每个文本块的单个节点中。对于
Text
节点的内容不进行词法检查,根据文档中的位置,使用字符引用在序列化期间必须转义一些字符; 例如字符“<&”,如果文本内容是元素或属性的一部分,字符序列“]]>”当元素的一部分,引号字符或撇号字符“当属性的一部分时。
-
-
Field Summary
-
Fields inherited from 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
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 String
getWholeText()
将逻辑相邻文本节点的所有文本的Text
返回到此节点,以文档顺序连接。boolean
isElementContentWhitespace()
返回此文本节点是否包含 element content whitespace ,经常被称为“可忽略的空白”。Text
replaceWholeText(String content)
用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。Text
splitText(int offset)
将该节点分解为指定的offset
两个节点,将树中的所有节点都作为兄弟节点。-
Methods inherited from interface org.w3c.dom.CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
-
Methods inherited from 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
-
-
-
-
方法详细信息
-
splitText
Text splitText(int offset) throws DOMException
在指定的offset
将该节点分解成两个节点,将树中的两个节点都作为兄弟节点。 分裂后,此节点将包含所有内容,直到offset
点。 返回相同类型的新节点,其中包含offset
点之后的所有内容。 如果原始节点具有父节点,则将新节点作为原始节点的下一个兄弟节点插入。 当offset
等于该节点的长度时,新节点没有数据。- 参数
-
offset
- 从0
开始分割的16位单位偏移量。 - 结果
- 新节点,与该节点的类型相同。
- 异常
-
DOMException
- INDEX_SIZE_ERR:如果指定的偏移量为负或大于data
的16位单位数,则data
。
NO_MODIFICATION_ALLOWED_ERR:如果此节点是只读的,则引发。
-
isElementContentWhitespace
boolean isElementContentWhitespace()
返回此文本节点是否包含element content whitespace ,经常被称为“可忽略的空白”。 在文档加载期间,文本节点被确定为在元素内容中包含空格,或者如果在使用Document.normalizeDocument()
时进行Document.normalizeDocument()
。- 从以下版本开始:
- 1.5,DOM 3级
-
getWholeText
String getWholeText()
返回所有Text
节点的逻辑相邻文本节点到此节点的文本,以文档顺序连接。
例如,在wholeText
的Text
节点中,包含“bar”的示例返回“barfoo”,而在包含“foo”的Text
节点上,它返回“barfoo”。+-----+ | <p> | +-----+ /\ * / \ * /-----\ +-------+ | bar | | &ent; | \-----/ +-------+ | | /-----\ * | foo | \-----/
图:barTextNode.wholeText值是“barfoo”- 从以下版本开始:
- 1.5,DOM 3级
-
replaceWholeText
Text replaceWholeText(String content) throws DOMException
用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。 删除所有逻辑上相邻的文本节点,包括当前节点,除非它是替换文本的接收者。此方法返回接收替换文本的节点。 返回的节点是:
-
null
,当替换文本为空字符串时; - 当前节点,当前节点为只读时除外;
- 新的
Text
相同类型的节点(Text
或CDATASection
)作为当前节点插入到替换位置。
例如,在上面的例子中调用
replaceWholeText
的上Text
包含在以下参数结果“栏中的”与“球”节点:+-----+ | <p> | +-----+ | | /-----\ * | yo | \-----/
图:barTextNode.replaceWholeText(“yo”)用“yo”修改barTextNode的文本内容要删除的节点是
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
节点中的一个被显示为唯一,则Text
。 - 从以下版本开始:
- 1.5,DOM 3级
-
-
-