Most visited

Recently visited

Added in API level 1

Text

public interface Text
implements CharacterData

org.w3c.dom.Text
Known Indirect Subclasses


所述Text接口从继承CharacterData和表示文本内容(称为character data一个在XML) ElementAttr 如果元素内容中没有标记,则文本包含在实现元素的唯一子元素的Text接口的单个对象中。 如果存在标记,则将其解析为信息项(元素,注释等)和构成元素子项列表的Text节点。

首次通过DOM提供文档时,每个文本块只有一个Text节点。 用户可以创建相邻的Text节点,它们代表给定元素的内容而没有任何干预标记,但应该意识到无法用XML或HTML表示这些节点之间的分隔,因此它们不会(一般地)在DOM编辑会话。 Node.normalize()方法将任何此类相邻的Text对象合并到每个文本块的单个节点中。

Text节点的内容Text任何词法检查,根据其在文档中的位置,在使用字符引用进行序列化时必须转义某些字符; 例如,如果文本内容是元素或属性的一部分,则字符“<&”,字符序列“]]>”当元素的一部分,引号字符或“撇号字符”当属性的一部分。

另请参阅 Document Object Model (DOM) Level 3 Core Specification

Summary

Inherited constants

From interface org.w3c.dom.Node

Public methods

abstract String getWholeText()

Text节点的所有文本返回 Text节点的逻辑上相邻的文本节点,按文档顺序连接。

abstract boolean isElementContentWhitespace()

返回此文本节点是否包含 element content whitespace ,通常被滥用称为“可忽略的空白”。

abstract Text replaceWholeText(String content)

用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。

abstract Text splitText(int offset)

在指定的 offset处将此节点分为两个节点,并将 offset同时保存在树中作为兄弟节点。

Inherited methods

From interface org.w3c.dom.CharacterData
From interface org.w3c.dom.Node

Public methods

getWholeText

Added in API level 8
String getWholeText ()

Text节点的所有文本返回Text节点的逻辑上相邻的文本节点,按文档顺序连接。
例如,在Text包含“bar”的Text节点下面的示例中, wholeText返回“barfoo”,而在包含“foo”的Text节点上返回“barfoo”。

Returns
String

isElementContentWhitespace

Added in API level 8
boolean isElementContentWhitespace ()

返回此文本节点是否包含element content whitespace ,通常被滥用称为“可忽略的空白”。 在文档加载期间或者在使用Document.normalizeDocument()时验证发生时,文本节点被确定为在元素内容中包含空格。

Returns
boolean

replaceWholeText

Added in API level 8
Text replaceWholeText (String content)

用指定的文本替换当前节点和所有逻辑上相邻的文本节点的文本。 所有逻辑上相邻的文本节点都将被删除,包括当前节点,除非它是替换文本的接收者。
该方法返回接收到替换文本的节点。 返回的节点是:

  • null, when the replacement text is the empty string;
  • the current node, except when the current node is read-only;
  • a new Text node of the same type ( Text or CDATASection) as the current node inserted at the location of the replacement.

For instance, in the above example calling replaceWholeText on the Text node that contains "bar" with "yo" in argument results in the following:
Where the nodes to be removed are read-only descendants of an 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.
For instance, in the example below calling 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.

splitText

Added in API level 1
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.

Hooray!