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