Object 內置對象

對象XmlElement

XmlElement 對象表示XML 文檔中的元素

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<class>XmlNode|nodeType;nodeName;nodeValue;ownerDocument;parentNode;childNodes;firstChild;lastChild;previousSibling;nextSibling|hasChildNodes();normalize();cloneNode();lookupPrefix();lookupNamespaceURI();insertBefore();insertAfter();appendChild();replaceChild();removeChild()] [<this>XmlElement|namespaceURI;prefix;localName;tagName;id;textContent;innerHTML;className;attributes|getAttribute();getAttributeNS();setAttribute();setAttributeNS();removeAttribute();removeAttributeNS();hasAttribute();hasAttributeNS();getElementsByTagName();getElementsByTagNameNS();getElementById();getElementsByClassName()] [object] <:- [XmlNode] [XmlNode] <:- [XmlElement] XmlNode nodeType nodeName nodeValue ownerDocument parentNode childNodes firstChild lastChild previousSibling nextSibling hasChildNodes() normalize() cloneNode() lookupPrefix() lookupNamespaceURI() insertBefore() insertAfter() appendChild() replaceChild() removeChild() XmlElement namespaceURI prefix localName tagName id textContent innerHTML className attributes getAttribute() getAttributeNS() setAttribute() setAttributeNS() removeAttribute() removeAttributeNS() hasAttribute() hasAttributeNS() getElementsByTagName() getElementsByTagNameNS() getElementById() getElementsByClassName() object toString() toJSON()

成員屬性

namespaceURI

String, 查詢元素的命名空間的URI。如果選定的節點無命名空間,則該屬性返回NULL

1
readonly String XmlElement.namespaceURI;

prefix

String, 查詢和設置元素的命名空間前綴。如果選定的節點無命名空間,則該屬性返回NULL

1
String XmlElement.prefix;

localName

String, 查詢元素的本地名稱。如果選定的節點無命名空間,則該屬性等同於nodeName

1
readonly String XmlElement.localName;

tagName

String, 返回元素的標籤名

1
readonly String XmlElement.tagName;

id

String, 查詢和設置元素的id 屬性

1
String XmlElement.id;

textContent

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

1
String XmlElement.textContent;

innerHTML

String, 查詢和設置選定元素的HTML 文本,僅在html 模式有效。查詢時,返回元素節點內所有子節點的HTML 編碼;設置時,刪除所有子節點,並用指定的HTML 解碼後替換它們。

1
String XmlElement.innerHTML;

className

String, 查詢和設置元素的class 屬性,僅在html 模式有效

1
String XmlElement.className;

attributes

XmlNamedNodeMap, 返回包含被選節點屬性的NamedNodeMap。如果被選節點不是元素,則該屬性返回NULL。

1
readonly XmlNamedNodeMap XmlElement.attributes;

nodeType

Integer, 返回節點的節點類型

1
readonly Integer XmlElement.nodeType;

不同對象的nodeType 會返回不同的值:


nodeName

String, 返回節點的名稱,根據其類型

1
readonly String XmlElement.nodeName;

不同對象的nodeName 會返回不同的值:


nodeValue

String, 返回節點的名稱,根據其類型

1
String XmlElement.nodeValue;

不同對象的nodeName 會返回不同的值:


ownerDocument

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

1
readonly XmlDocument XmlElement.ownerDocument;

parentNode

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

1
readonly XmlNode XmlElement.parentNode;

childNodes

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

1
readonly XmlNodeList XmlElement.childNodes;

firstChild

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

1
readonly XmlNode XmlElement.firstChild;

lastChild

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

1
readonly XmlNode XmlElement.lastChild;

previousSibling

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

1
readonly XmlNode XmlElement.previousSibling;

nextSibling

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

1
readonly XmlNode XmlElement.nextSibling;

成員函數

getAttribute

通過名稱查詢屬性的值

1
String XmlElement.getAttribute(String name);

調用參數:

  • name: String, 指定查詢的屬性名

返回結果:

  • String, 返回屬性的值

getAttributeNS

通過命名空間URI 和名稱來獲取屬性值

1 2
String XmlElement.getAttributeNS(String namespaceURI, String localName);

調用參數:

  • namespaceURI: String, 指定查詢的命名空間URI
  • localName: String, 指定查詢的屬性名

返回結果:

  • String, 返回屬性的值

setAttribute

創建或改變某個新屬性

1 2
XmlElement.setAttribute(String name, String value);

調用參數:

  • name: String, 指定要設置的屬性名
  • value: String, 指定要設置的屬性值

該方法把指定的屬性設置為指定的值。如果不存在具有指定名稱的屬性,該方法將創建一個新屬性


setAttributeNS

創建或改變具有命名空間的屬性

1 2 3
XmlElement.setAttributeNS(String namespaceURI, String qualifiedName, String value);

調用參數:

  • namespaceURI: String, 指定要設置的命名空間URI
  • qualifiedName: String, 指定要設置的屬性名
  • value: String, 指定要設置的屬性值

該方法與setAttribute 方法類似,只是要創建或設置的屬性由命名空間URI 和限定名(由名字空間前綴、冒號和名字空間中的本地名構成)共同指定。除了可以改變一個屬性的值以外,使用該方法還可以改變屬性的名字空間前綴


removeAttribute

通過名稱刪除指定的屬性

1
XmlElement.removeAttribute(String name);

調用參數:

  • name: String, 指定刪除的屬性名

removeAttributeNS

通過命名空間和名稱刪除指定的屬性

1 2
XmlElement.removeAttributeNS(String namespaceURI, String localName);

調用參數:

  • namespaceURI: String, 指定要刪除的命名空間URI
  • localName: String, 指定刪除的屬性名

hasAttribute

查詢當前節點是否擁有指定名稱的屬性

1
Boolean XmlElement.hasAttribute(String name);

調用參數:

  • name: String, 指定查詢的屬性名稱

返回結果:

  • Boolean, 如果當前元素節點擁有指定屬性,則返回true,否則返回false

hasAttributeNS

查詢當前節點是否擁有指定命名空間和名稱的屬性

1 2
Boolean XmlElement.hasAttributeNS(String namespaceURI, String localName);

調用參數:

  • namespaceURI: String, 指定要查詢的命名空間URI
  • localName: String, 指定查詢的屬性名稱

返回結果:

  • Boolean, 如果當前元素節點擁有指定屬性,則返回true,否則返回false

getElementsByTagName

返回擁有指定名稱的所有元素的 XmlNodeList

1
XmlNodeList XmlElement.getElementsByTagName(String tagName);

調用參數:

  • tagName: String, 需檢索的標籤名。值"*" 匹配所有的標籤

返回結果:

  • XmlNodeList, 節點樹中具有指定標記的XmlElement 節點的 XmlNodeList集合。返回的元素節點的順序就是它們在源文檔中出現的順序。

該方法將遍歷指定元素的子孫節點,返回一個XmlElement 節點的 XmlNodeList對象,表示所有具有指定標籤名的文檔元素。元素在返回的數組中的順序就是它們出現在文檔源代碼中的順序。

XmlDocument 接口也定義了getElementsByTagName 方法,它與該方法相似,但遍歷整個文檔,而不是遍歷某個元素的子孫節點。


getElementsByTagNameNS

返回擁有指定命名空間和名稱的所有元素的 XmlNodeList

1 2
XmlNodeList XmlElement.getElementsByTagNameNS(String namespaceURI, String localName);

調用參數:

  • namespaceURI: String, 指定要查詢的命名空間URI
  • localName: String, 需檢索的標籤名。值"*" 匹配所有的標籤

返回結果:

  • XmlNodeList, 節點樹中具有指定標記的XmlElement 節點的 XmlNodeList集合。返回的元素節點的順序就是它們在源文檔中出現的順序。

該方法與getElementsByTagName 方法相似,只是想獲取的元素的標記名被指定為命名空間URI 和在命名空間中定義的本地名的組合。


getElementById

返回擁有指定id 屬性的元素

1
XmlElement XmlElement.getElementById(String id);

調用參數:

  • id: String, 需檢索的id

返回結果:

  • XmlElement, 節點樹中具有指定id 屬性的XmlElement 節點

該方法將遍歷指定元素的子孫節點,返回一個XmlElement 節點對象,表示第一個具有指定id 屬性的文檔元素。

XmlDocument 接口也定義了getElementsByTagName 方法,它與該方法相似,但遍歷整個文檔,而不是遍歷某個元素的子孫節點。


getElementsByClassName

返回帶有指定class 名稱的所有元素的一個節點列表

1
XmlNodeList XmlElement.getElementsByClassName(String className);

調用參數:

  • className: String, 需檢索的class 名稱

返回結果:

  • XmlNodeList, 文檔樹中具有指定class 名的XmlElement 節點的 XmlNodeList集合。返回的元素節點的順序就是它們在源文檔中出現的順序。

該方法將返回一個 XmlNodeList 對象(可以作為只讀數組處理),該對象存放文檔中具有指定class 名的所有XmlElement 節點,它們存放的順序就是在源文檔中出現的順序。 XmlNodeList 對像是“活”的,即如果在文檔中添加或刪除了指定標籤名的元素,它的內容會自動進行必要的更新。


hasChildNodes

查詢是否存在子節點

1
Boolean XmlElement.hasChildNodes();

返回結果:

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

normalize

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

1
XmlElement.normalize();

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


cloneNode

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

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

調用參數:

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

返回結果:

  • XmlNode, 返回所複製的節點

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


lookupPrefix

返回在當前節點上匹配指定的命名空間URI 的前綴

1
String XmlElement.lookupPrefix(String namespaceURI);

調用參數:

  • namespaceURI: String, 指定匹配的命名空間URI

返回結果:

  • String, 返回匹配的前綴,未匹配到返回null

lookupNamespaceURI

返回在當前節點上匹配指定的前綴的命名空間URI

1
String XmlElement.lookupNamespaceURI(String prefix);

調用參數:

  • prefix: String, 指定匹配的前綴

返回結果:

  • String, 返回匹配的命名空間URI,未匹配到返回null

insertBefore

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

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

調用參數:

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

返回結果:

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


insertAfter

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

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

調用參數:

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

返回結果:

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


appendChild

向節點的子節點列表的末尾添加新的子節點

1
XmlNode XmlElement.appendChild(XmlNode newChild);

調用參數:

  • newChild: XmlNode, 指定添加的節點

返回結果:

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

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


replaceChild

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

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

調用參數:

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

返回結果:

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

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


removeChild

從子節點列表中刪除某個節點

1
XmlNode XmlElement.removeChild(XmlNode oldChild);

調用參數:

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

返回結果:

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

toString

返回對象的字符串表示,一般返回"[Native Object]",對象可以根據自己的特性重新實現

1
String XmlElement.toString();

返回結果:

  • String, 返回對象的字符串表示

toJSON

返回對象的JSON 格式表示,一般返回對象定義的可讀屬性集合

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

調用參數:

  • key: String, 未使用

返回結果:

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