Object 內建對象

物件XmlNode

XmlNode 物件是整個DOM 的基礎資料類型

繼承關係

%0 object object toString() toJSON() XmlNode XmlNode nodeType nodeName nodeValue ownerDocument parentNode childNodes children firstChild lastChild previousSibling nextSibling firstElementChild lastElementChild previousElementSibling nextElementSibling textContent hasChildNodes() normalize() cloneNode() lookupPrefix() lookupNamespaceURI() insertBefore() insertAfter() appendChild() replaceChild() removeChild() object->XmlNode XmlCharacterData XmlCharacterData XmlNode->XmlCharacterData XmlDocument XmlDocument XmlNode->XmlDocument XmlDocumentType XmlDocumentType XmlNode->XmlDocumentType XmlElement XmlElement XmlNode->XmlElement XmlProcessingInstruction XmlProcessingInstruction XmlNode->XmlProcessingInstruction XmlComment XmlComment XmlCharacterData->XmlComment XmlText XmlText XmlCharacterData->XmlText XmlCDATASection XmlCDATASection XmlText->XmlCDATASection

成員屬性

nodeType

Integer, 傳回節點的節點類型

1
readonly Integer XmlNode.nodeType;

不同物件的nodeType 會傳回不同的值:


nodeName

String, 傳回節點的名稱,依其類型

1
readonly String XmlNode.nodeName;

不同物件的nodeName 會傳回不同的值:


nodeValue

String, 傳回節點的名稱,依其類型

1
String XmlNode.nodeValue;

不同物件的nodeName 會傳回不同的值:


ownerDocument

XmlDocument, 返回節點的根元素(XmlDocument對象)

1
readonly XmlDocument XmlNode.ownerDocument;

parentNode

XmlNode, 可傳回某節點的父節點

1
readonly XmlNode XmlNode.parentNode;

childNodes

XmlNodeList, 傳回指定節點的子節點的節點列表

1
readonly XmlNodeList XmlNode.childNodes;

children

XmlNodeList, 傳回指定節點的子元素節點的節點列表

1
readonly XmlNodeList XmlNode.children;

firstChild

XmlNode, 傳回節點的首個子節點

1
readonly XmlNode XmlNode.firstChild;

lastChild

XmlNode, 傳回節點的最後一個子節點

1
readonly XmlNode XmlNode.lastChild;

previousSibling

XmlNode, 傳回某節點之前緊接的節點(處於同一樹層級),如果沒有此節點,那麼該屬性傳回null

1
readonly XmlNode XmlNode.previousSibling;

nextSibling

XmlNode, 傳回某個元素之後緊接的節點(處於同一樹層級中),如果無此節點,則屬性傳回null

1
readonly XmlNode XmlNode.nextSibling;

firstElementChild

XmlNode, 傳回節點的首個子元素節點

1
readonly XmlNode XmlNode.firstElementChild;

lastElementChild

XmlNode, 傳回節點的最後一個子元素節點

1
readonly XmlNode XmlNode.lastElementChild;

previousElementSibling

XmlNode, 傳回某節點之前緊接的元素節點(處於同一樹層級),如果沒有此節點,那麼該屬性傳回null

1
readonly XmlNode XmlNode.previousElementSibling;

nextElementSibling

XmlNode, 傳回某個元素之後緊接的元素節點(在同一樹層級),如果無此節點,則屬性傳回null

1
readonly XmlNode XmlNode.nextElementSibling;

textContent

String, 查詢並設定選定元素的文字。查詢時,返回元素節點內所有文字節點的值;設定時,刪除所有子節點,並用單一文字節點替換它們。

1
String XmlNode.textContent;

成員函數

hasChildNodes

查詢是否存在子節點

1
Boolean XmlNode.hasChildNodes();

回傳結果:

  • Boolean, 存在任何子節點時回傳true,否則回傳false

normalize

合併相鄰的Text 節點並刪除空的Text 節點

1
XmlNode.normalize();

這個方法將遍歷目前節點的所有子孫節點,透過刪除空的Text 節點,已經合併所有相鄰的Text 節點來規範化文件。此方法在進行節點的插入或刪除操作後,對於簡化文件樹的結構很有用。


cloneNode

建立指定的節點的精確拷貝

1
XmlNode XmlNode.cloneNode(Boolean deep = true);

呼叫參數:

  • deep: Boolean, 是否深度拷貝,為true 時,被複製的節點會複製原節點的所有子節點

回傳結果:

  • XmlNode, 返回所複製的節點

該方法將複製並傳回呼叫它的節點的副本。如果傳遞給它的參數是true,它還將遞歸複製目前節點的所有子孫節點。否則,它只複製當前節點。傳回的節點不屬於文件樹,它的parentNode 屬性為null。當複製的是Element 節點時,它的所有屬性都會被複製。


lookupPrefix

傳回在目前節點上符合指定的命名空間URI 的前綴

1
String XmlNode.lookupPrefix(String namespaceURI);

呼叫參數:

  • namespaceURI: String, 指定符合的命名空間URI

回傳結果:

  • String, 傳回符合的前綴,未符合到返回null

lookupNamespaceURI

傳回在目前節點上符合指定的前綴的命名空間URI

1
String XmlNode.lookupNamespaceURI(String prefix);

呼叫參數:

  • prefix: String, 指定符合的前綴

回傳結果:

  • String, 傳回符合的命名空間URI,未符合到傳回null

insertBefore

在已有的子節點前插入一個新的子節點

1 2
XmlNode XmlNode.insertBefore(XmlNode newChild, XmlNode refChild);

呼叫參數:

  • newChild: XmlNode, 插入新的節點
  • refChild: XmlNode, 在此節點前插入新節點

回傳結果:

  • XmlNode, 返回新的子節點

如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。


insertAfter

在已有的子節點後插入一個新的子節點

1 2
XmlNode XmlNode.insertAfter(XmlNode newChild, XmlNode refChild);

呼叫參數:

  • newChild: XmlNode, 插入新的節點
  • refChild: XmlNode, 在此節點後插入新節點

回傳結果:

  • XmlNode, 返回新的子節點

如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。


appendChild

在節點的子節點清單的末尾新增新的子節點

1
XmlNode XmlNode.appendChild(XmlNode newChild);

呼叫參數:

  • newChild: XmlNode, 指定新增的節點

回傳結果:

  • XmlNode, 返回這個新的子節點

如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。


replaceChild

將某個子節點替換為另一個

1 2
XmlNode XmlNode.replaceChild(XmlNode newChild, XmlNode oldChild);

呼叫參數:

  • newChild: XmlNode, 指定新的節點
  • oldChild: XmlNode, 指定被替換的節點

回傳結果:

  • XmlNode, 如替換成功,此方法可傳回被替換的節點,如替換失敗,則傳回null

如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。


removeChild

從子節點清單中刪除某個節點

1
XmlNode XmlNode.removeChild(XmlNode oldChild);

呼叫參數:

  • oldChild: XmlNode, 指定被刪除的節點

回傳結果:

  • XmlNode, 如刪除成功,此方法可傳回刪除的節點,如失敗,則傳回null

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String XmlNode.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

1
Value XmlNode.toJSON(String key = "");

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值