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