對象XmlText
XmlText 物件表示元素或屬性的文字內容
XmlText 節點表示XML 文件中的一系列純文字。因為純文字出現在XML 的元素和屬性中,所以XmlText 節點通常作為XmlElement節點和XmlAttr節點的子節點出現。
XmlText 節點繼承了XmlCharacterData接口,透過從XmlCharacterData介面繼承的data 屬性或從XmlNode介面繼承的nadevalue 屬性,可以存取XmlText 節點的文字內容。
用從XmlCharacterData繼承的方法或XmlText 介面本身定義的splitText() 方法可以操作XmlText 節點。使用XmlDocument的createTextNode 來建立一個新的XmlText 節點。
XmlText 節點沒有子節點。
關於從文件的子樹中刪除空XmlText 節點與合併相鄰的XmlText 節點的方法,請參閱XmlNode.normalize方法。
繼承關係
成員屬性
data
String, 該節點包含的文本
1String XmlText.data;
length
Integer, 該節點所包含的字元數
1readonly Integer XmlText.length;
nodeType
Integer, 傳回節點的節點類型
1readonly Integer XmlText.nodeType;
不同物件的nodeType 會傳回不同的值:
- XmlElement: ELEMENT_NODE(1)
- XmlAttr: ATTRIBUTE_NODE(2)
- XmlText: TEXT_NODE(3)
- XmlCDATASection: CDATA_SECTION_NODE(4)
- XmlProcessingInstruction: PROCESSING_INSTRUCTION_NODE(7)
- XmlComment: COMMENT_NODE(8)
- XmlDocument: DOCUMENT_NODE(9)
- XmlDocumentType: DOCUMENT_TYPE_NODE(10)
nodeName
String, 傳回節點的名稱,依其類型
1readonly String XmlText.nodeName;
不同物件的nodeName 會傳回不同的值:
- XmlElement: element name
- XmlAttr: 屬性名稱
- XmlText: #text
- XmlCDATASection: #cdata-section
- XmlProcessingInstruction: 傳回指定目標target
- XmlComment: #comment
- XmlDocument: #document
- XmlDocumentType: doctype 名稱
nodeValue
String, 傳回節點的名稱,依其類型
1String XmlText.nodeValue;
不同物件的nodeName 會傳回不同的值:
- XmlElement: null
- XmlAttr: 屬性的值
- XmlText: 節點的內容
- XmlCDATASection: 節點的內容
- XmlProcessingInstruction: 傳回指定內容data
- XmlComment: 註釋文本
- XmlDocument: null
- XmlDocumentType: null
ownerDocument
XmlDocument, 返回節點的根元素(XmlDocument對象)
1readonly XmlDocument XmlText.ownerDocument;
parentNode
XmlNode, 可返回某節點的父節點
1readonly XmlNode XmlText.parentNode;
childNodes
XmlNodeList, 傳回指定節點的子節點的節點列表
1readonly XmlNodeList XmlText.childNodes;
children
XmlNodeList, 傳回指定節點的子元素節點的節點列表
1readonly XmlNodeList XmlText.children;
firstChild
XmlNode, 返回節點的首個子節點
1readonly XmlNode XmlText.firstChild;
lastChild
XmlNode, 返回節點的最後一個子節點
1readonly XmlNode XmlText.lastChild;
previousSibling
XmlNode, 傳回某節點之前緊接的節點(處於同一樹層級),如果沒有此節點,那麼該屬性傳回null
1readonly XmlNode XmlText.previousSibling;
nextSibling
XmlNode, 傳回某個元素之後緊接的節點(處於同一樹層級中),如果無此節點,則屬性傳回null
1readonly XmlNode XmlText.nextSibling;
firstElementChild
XmlNode, 返回節點的首個子元素節點
1readonly XmlNode XmlText.firstElementChild;
lastElementChild
XmlNode, 返回節點的最後一個子元素節點
1readonly XmlNode XmlText.lastElementChild;
previousElementSibling
XmlNode, 傳回某節點之前緊接的元素節點(處於同一樹層級),如果沒有此節點,那麼該屬性傳回null
1readonly XmlNode XmlText.previousElementSibling;
nextElementSibling
XmlNode, 傳回某個元素之後緊接的元素節點(處於同一樹層級中),如果無此節點,則屬性傳回null
1readonly XmlNode XmlText.nextElementSibling;
textContent
String, 查詢並設定選定元素的文字。查詢時,返回元素節點內所有文字節點的值;設定時,刪除所有子節點,並用單一文字節點替換它們。
1String XmlText.textContent;
成員函數
splitText
依照指定的offset 把文字節點分割成兩個節點
1XmlText XmlText.splitText(Integer offset);
呼叫參數:
- offset: Integer, 規定在何處分割文字節點。開始值以0 開始
回傳結果:
- XmlText, 從目前節點分割的Text 節點
此方法將在指定的offset 處把XmlText 節點分割成兩個節點。原始的XmlText 節點將被修改,使它包含offset 指定的位置之前的文字內容(但不包括文字內容)。新的XmlText 節點將被創建,用於存放從offset 位置(包括該位置上的字元)到原始字元結尾的所有字元。新的XmlText 節點是該方法的回傳值。此外,如果原始的XmlText 節點具有parentNode,新的XmlText 節點將插入這個父節點,緊鄰在原始節點之後。
XmlCDATASection接口繼承了XmlText 接口,XmlCDATASection節點也可以使用該方法,只是新建立的節點是XmlCDATASection節點,而不是XmlText 節點。
substringData
從節點中提取子串
1
2String XmlText.substringData(Integer offset,
Integer count);
呼叫參數:
- offset: Integer, 要傳回的第一個字元的位置
- count: Integer, 要傳回的子字串中的字元數
回傳結果:
- String, 返回提取的字串
appendData
把字串附加到節點上
1XmlText.appendData(String arg);
呼叫參數:
- arg: String, 要附加到節點的字串
insertData
把字串插入節點
1
2XmlText.insertData(Integer offset,
String arg);
呼叫參數:
- offset: Integer, 要把字串插入節點的字元位置
- arg: String, 要插入的字串
deleteData
從節點刪除文字
1
2XmlText.deleteData(Integer offset,
Integer count);
呼叫參數:
- offset: Integer, 要刪除的第一個字元的位置
- count: Integer, 要刪除的字元的數量
replaceData
用指定的字串替換節點的字符
1
2
3XmlText.replaceData(Integer offset,
Integer count,
String arg);
呼叫參數:
- offset: Integer, 節點要替換的字元位置
- count: Integer, 要替換的字元的數量
- arg: String, 要插入的字串
hasChildNodes
查詢是否存在子節點
1Boolean XmlText.hasChildNodes();
回傳結果:
- Boolean, 存在任何子節點時回傳true,否則回傳false
normalize
合併相鄰的Text 節點並刪除空的Text 節點
1XmlText.normalize();
這個方法將遍歷目前節點的所有子孫節點,透過刪除空的Text 節點,已經合併所有相鄰的Text 節點來規範化文件。此方法在進行節點的插入或刪除操作後,對於簡化文件樹的結構很有用。
cloneNode
建立指定的節點的精確拷貝
1XmlNode XmlText.cloneNode(Boolean deep = true);
呼叫參數:
- deep: Boolean, 是否深度拷貝,為true 時,被複製的節點會複製原節點的所有子節點
回傳結果:
- XmlNode, 返回所複製的節點
該方法將複製並傳回呼叫它的節點的副本。如果傳遞給它的參數是true,它還將遞歸複製目前節點的所有子孫節點。否則,它只複製當前節點。傳回的節點不屬於文件樹,它的parentNode 屬性為null。當複製的是Element 節點時,它的所有屬性都會被複製。
lookupPrefix
傳回在目前節點上符合指定的命名空間URI 的前綴
1String XmlText.lookupPrefix(String namespaceURI);
呼叫參數:
- namespaceURI: String, 指定符合的命名空間URI
回傳結果:
- String, 傳回符合的前綴,未符合到返回null
lookupNamespaceURI
傳回在目前節點上符合指定的前綴的命名空間URI
1String XmlText.lookupNamespaceURI(String prefix);
呼叫參數:
- prefix: String, 指定符合的前綴
回傳結果:
- String, 傳回符合的命名空間URI,未符合到傳回null
insertBefore
在已有的子節點前插入一個新的子節點
1
2XmlNode XmlText.insertBefore(XmlNode newChild,
XmlNode refChild);
呼叫參數:
回傳結果:
- XmlNode, 返回新的子節點
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
insertAfter
在已有的子節點後插入一個新的子節點
1
2XmlNode XmlText.insertAfter(XmlNode newChild,
XmlNode refChild);
呼叫參數:
回傳結果:
- XmlNode, 返回新的子節點
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
appendChild
在節點的子節點清單的末尾新增新的子節點
1XmlNode XmlText.appendChild(XmlNode newChild);
呼叫參數:
- newChild:XmlNode, 指定新增的節點
回傳結果:
- XmlNode, 返回這個新的子節點
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
replaceChild
將某個子節點替換為另一個
1
2XmlNode XmlText.replaceChild(XmlNode newChild,
XmlNode oldChild);
呼叫參數:
回傳結果:
- XmlNode, 如替換成功,此方法可傳回被替換的節點,如替換失敗,則傳回null
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
removeChild
從子節點清單中刪除某個節點
1XmlNode XmlText.removeChild(XmlNode oldChild);
呼叫參數:
- oldChild:XmlNode, 指定被刪除的節點
回傳結果:
- XmlNode, 如刪除成功,此方法可傳回刪除的節點,如失敗,則傳回null
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String XmlText.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value XmlText.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值