public interface Text
implements CharacterData
org.w3c.dom.Text |
Known Indirect Subclasses |
所述Text
接口从继承CharacterData
和表示文本内容(称为character data一个在XML) Element
或Attr
。 如果元素内容中没有标记,则文本包含在实现元素的唯一子元素的Text
接口的单个对象中。 如果存在标记,则将其解析为信息项(元素,注释等)和构成元素子项列表的Text
节点。
首次通过DOM提供文档时,每个文本块只有一个Text
节点。 用户可以创建相邻的Text
节点,它们代表给定元素的内容而没有任何干预标记,但应该意识到无法用XML或HTML表示这些节点之间的分隔,因此它们不会(一般地)在DOM编辑会话。 Node.normalize()
方法将任何此类相邻的Text
对象合并到每个文本块的单个节点中。
对Text
节点的内容Text
任何词法检查,根据其在文档中的位置,在使用字符引用进行序列化时必须转义某些字符; 例如,如果文本内容是元素或属性的一部分,则字符“<&”,字符序列“]]>”当元素的一部分,引号字符或“撇号字符”当属性的一部分。
另请参阅 Document Object Model (DOM) Level 3 Core Specification 。
Inherited constants |
---|
From interface org.w3c.dom.Node
|
Public methods |
|
---|---|
abstract String |
getWholeText() 将 |
abstract boolean |
isElementContentWhitespace() 返回此文本节点是否包含 element content whitespace ,通常被滥用称为“可忽略的空白”。 |
abstract Text |
replaceWholeText(String content) 用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。 |
abstract Text |
splitText(int offset) 在指定的 |
Inherited methods |
|
---|---|
From interface org.w3c.dom.CharacterData
|
|
From interface org.w3c.dom.Node
|
String getWholeText ()
将Text
节点的所有文本返回Text
节点的逻辑上相邻的文本节点,按文档顺序连接。
例如,在Text
包含“bar”的Text
节点下面的示例中, wholeText
返回“barfoo”,而在包含“foo”的Text
节点上返回“barfoo”。
Returns | |
---|---|
String |
boolean isElementContentWhitespace ()
返回此文本节点是否包含element content whitespace ,通常被滥用称为“可忽略的空白”。 在文档加载期间或者在使用Document.normalizeDocument()
时验证发生时,文本节点被确定为在元素内容中包含空格。
Returns | |
---|---|
boolean |
Text replaceWholeText (String content)
用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。 所有逻辑上相邻的文本节点都将被删除,包括当前节点,除非它是替换文本的接收者。
该方法返回接收到替换文本的节点。 返回的节点是:
null
, when the replacement text is the empty string; Text
node of the same type ( Text
or CDATASection
) as the current node inserted at the location of the replacement. replaceWholeText
on the
Text
node that contains "bar" with "yo" in argument results in the following:
EntityReference
, the
EntityReference
must be removed instead of the read-only nodes. If any
EntityReference
to be removed has descendants that are not
EntityReference
,
Text
, or
CDATASection
nodes, the
replaceWholeText
method must fail before performing any modification of the document, raising a
DOMException
with the code
NO_MODIFICATION_ALLOWED_ERR
.
replaceWholeText
on the
Text
node that contains "bar" fails, because the
EntityReference
node "ent" contains an
Element
node which cannot be removed.
Parameters | |
---|---|
content |
String : The content of the replacing Text node. |
Returns | |
---|---|
Text |
The Text node created with the specified content. |
Throws | |
---|---|
DOMException |
NO_MODIFICATION_ALLOWED_ERR: Raised if one of the Text nodes being replaced is readonly. |
Text splitText (int offset)
在指定的offset
处将此节点分为两个节点,并将offset
同时保存在树中作为兄弟节点。 分割后,该节点将包含所有内容,直至offset
点。 返回包含offset
点和之后的所有内容的同一类型的新节点。 如果原始节点具有父节点,则将新节点插入原始节点的下一个兄弟节点。 当offset
等于此节点的长度时,新节点没有数据。
Parameters | |
---|---|
offset |
int : The 16-bit unit offset at which to split, starting from 0 . |
Returns | |
---|---|
Text |
The new node, of the same type as this node. |
Throws | |
---|---|
DOMException |
INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data . NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. |