|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface Text
該 Text 介面繼承自 CharacterData,並且表示 Element 或 Attr 的文本內容(在 XML 中稱為字元資料)。如果元素的內容中沒有標記,則文本包含在實作 Text 介面的單個物件中,此介面是該元素的唯一子元素。如果有標記,則將它解析為資訊項(元素、註釋,等等)和組成該元素的子元素列表的 Text 節點。
首先通過 DOM 使文檔可用時,文本的每個塊只有一個 Text 節點。使用者可以創建表示給定元素的內容的相鄰的 Text 節點,沒有任何插入標記,但應該知道無法在 XML 或 HTML 中表示這些節點之間的分隔,因此它們(通常)不會保持在 DOM 編輯Session之間。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 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。