|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
public interface Text
该 Text 接口继承自 CharacterData,并且表示 Element 或 Attr 的文本内容(在 XML 中称为字符数据)。如果元素的内容中没有标记,则文本包含在实现 Text 接口的单个对象中,此接口是该元素的唯一子元素。如果有标记,则将它解析为信息项(元素、注释,等等)和组成该元素的子元素列表的 Text 节点。
首先通过 DOM 使文档可用时,文本的每个块只有一个 Text 节点。用户可以创建表示给定元素的内容的相邻的 Text 节点,没有任何插入标记,但应该知道无法在 XML 或 HTML 中表示这些节点之间的分隔,因此它们(通常)不会保持在 DOM 编辑会话之间。Node.normalize() 方法为每个文本块将所有这样的相邻 Text 对象合并为单个的节点。
不对 Text 节点的内容进行任何词汇检查,并且根据节点在文档中的位置,有些字符必须在使用字符引用进行序列化期间转义;例如,在文本内容是元素或属性的一部分的字符 "<&";文本内容是元素一部分的字符序列 "]]>";当文本内容是属性一部分的引号字符 " 或省略符号字符 '。
另请参见 Document Object Model (DOM) Level 3 Core Specification。
| 字段摘要 |
|---|
| 方法摘要 | |
|---|---|
String |
getWholeText()
返回 Text 节点(逻辑上与此节点相邻的节点)的以文档顺序串接的所有文本。 |
boolean |
isElementContentWhitespace()
返回此文本节点是否包含 元素内容空白符,即经常所称的“可忽略的空白符”。 |
Text |
replaceWholeText(String content)
将当前节点和所有逻辑上相邻的文本节点的文本替换为指定的文本。 |
Text |
splitText(int offset)
在指定的 offset 处将此节点拆分为两个节点,并将二者作为兄弟节点保持在树中。 |
| 从接口 org.w3c.dom.CharacterData 继承的方法 |
|---|
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData |
| 方法详细信息 |
|---|
Text splitText(int offset)
throws DOMException
offset 处将此节点拆分为两个节点,并将二者作为兄弟节点保持在树中。拆分之后,此节点将包含 offset 点之前的所有内容。返回相同类型的新节点,该节点包含 offset 点及其后面的所有内容。如果初始节点有父节点,则作为初始节点下一个兄弟节点插入新节点。当 offset 等于此节点的长度时,则新节点没有任何数据。
offset - 从 0 开始的16 位单元偏移量,在该位置拆分。
DOMException - INDEX_SIZE_ERR: 如果指定偏移量为负或大于 data 中的 16 位单元数,则引发此异常。boolean isElementContentWhitespace()
Document.normalizeDocument() 时是否进行验证。
String getWholeText()
Text 节点(逻辑上与此节点相邻的节点)的以文档顺序串接的所有文本。wholeText 在包含 "bar" 的 Text 节点上时返回 "barfoo",而在包含 "foo" 的 Text 节点上时则返回 "barfoo"。
+-----+
| <p> |
+-----+
/\
/ \
/-----\ +-------+
| bar | | &ent; |
\-----/ +-------+
|
|
/-----\
| foo |
\-----/
图:barTextNode.wholeText 的值为 "barfoo"
Text replaceWholeText(String content)
throws DOMException
此方法返回接收替换文本的节点。返回的节点为:
null,此时替换文本为空字符串;
Text 或 CDATASection)的新 Text 节点。
例如,在上面的示例中,在参数中有 "yo" 的包含 "bar" 的 Text 上调用 replaceWholeText 将导致以下情况:
+-----+
| <p> |
+-----+
|
|
/-----\
| yo |
\-----/
图:barTextNode.replaceWholeText("yo") 使用 "yo" 修改 barTextNode 的文本内容
在要移除的节点为 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 节点为只读的,则引发此异常。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。