物件XmlElement
XmlElement 物件表示XML 文件中的元素
繼承關係
成員屬性
namespaceURI
String, 查詢元素的命名空間的URI。如果選定的節點無命名空間,則該屬性傳回NULL
1readonly String XmlElement.namespaceURI;
prefix
String, 查詢並設定元素的命名空間前綴。如果選定的節點無命名空間,則該屬性傳回NULL
1String XmlElement.prefix;
localName
String, 查詢元素的本地名稱。如果選定的節點無命名空間,則該屬性等同於nodeName
1readonly String XmlElement.localName;
tagName
String, 傳回元素的標籤名
1readonly String XmlElement.tagName;
id
String, 查詢與設定元素的id 屬性
1String XmlElement.id;
innerHTML
String, 查詢並設定選定元素後代的HTML 文本,僅在html 模式有效。查詢時,返回元素節點內所有子節點的HTML 編碼;設定時,刪除所有子節點,並在指定的HTML 解碼後取代它們。
1String XmlElement.innerHTML;
outerHTML
String, 查詢選定元素及其後代的HTML 文本,僅在html 模式有效。查詢時,傳回元素及節點內所有子節點的HTML 編碼。
1readonly String XmlElement.outerHTML;
className
String, 查詢並設定元素的class 屬性,僅在html 模式有效
1String XmlElement.className;
attributes
XmlNamedNodeMap, 傳回包含被選取節點屬性的NamedNodeMap。如果被選節點不是元素,則該屬性傳回NULL。
1readonly XmlNamedNodeMap XmlElement.attributes;
nodeType
Integer, 傳回節點的節點類型
1readonly Integer XmlElement.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 XmlElement.nodeName;
不同物件的nodeName 會傳回不同的值:
- XmlElement: element name
- XmlAttr: 屬性名稱
- XmlText: #text
- XmlCDATASection: #cdata-section
- XmlProcessingInstruction: 傳回指定目標target
- XmlComment: #comment
- XmlDocument: #document
- XmlDocumentType: doctype 名稱
nodeValue
String, 傳回節點的名稱,依其類型
1String XmlElement.nodeValue;
不同物件的nodeName 會傳回不同的值:
- XmlElement: null
- XmlAttr: 屬性的值
- XmlText: 節點的內容
- XmlCDATASection: 節點的內容
- XmlProcessingInstruction: 傳回指定內容data
- XmlComment: 註釋文本
- XmlDocument: null
- XmlDocumentType: null
ownerDocument
XmlDocument, 返回節點的根元素(XmlDocument對象)
1readonly XmlDocument XmlElement.ownerDocument;
parentNode
XmlNode, 可返回某節點的父節點
1readonly XmlNode XmlElement.parentNode;
childNodes
XmlNodeList, 傳回指定節點的子節點的節點列表
1readonly XmlNodeList XmlElement.childNodes;
children
XmlNodeList, 傳回指定節點的子元素節點的節點列表
1readonly XmlNodeList XmlElement.children;
firstChild
XmlNode, 返回節點的首個子節點
1readonly XmlNode XmlElement.firstChild;
lastChild
XmlNode, 返回節點的最後一個子節點
1readonly XmlNode XmlElement.lastChild;
previousSibling
XmlNode, 傳回某節點之前緊接的節點(處於同一樹層級),如果沒有此節點,那麼該屬性傳回null
1readonly XmlNode XmlElement.previousSibling;
nextSibling
XmlNode, 傳回某個元素之後緊接的節點(處於同一樹層級中),如果無此節點,則屬性傳回null
1readonly XmlNode XmlElement.nextSibling;
firstElementChild
XmlNode, 返回節點的首個子元素節點
1readonly XmlNode XmlElement.firstElementChild;
lastElementChild
XmlNode, 返回節點的最後一個子元素節點
1readonly XmlNode XmlElement.lastElementChild;
previousElementSibling
XmlNode, 傳回某節點之前緊接的元素節點(處於同一樹層級),如果沒有此節點,那麼該屬性傳回null
1readonly XmlNode XmlElement.previousElementSibling;
nextElementSibling
XmlNode, 傳回某個元素之後緊接的元素節點(處於同一樹層級中),如果無此節點,則屬性傳回null
1readonly XmlNode XmlElement.nextElementSibling;
textContent
String, 查詢並設定選定元素的文字。查詢時,返回元素節點內所有文字節點的值;設定時,刪除所有子節點,並用單一文字節點替換它們。
1String XmlElement.textContent;
成員函數
getAttribute
透過名稱查詢屬性的值
1String XmlElement.getAttribute(String name);
呼叫參數:
- name: String, 指定查詢的屬性名
回傳結果:
- String, 傳回屬性的值
getAttributeNS
透過命名空間URI 和名稱來取得屬性值
1
2String XmlElement.getAttributeNS(String namespaceURI,
String localName);
呼叫參數:
- namespaceURI: String, 指定查詢的命名空間URI
- localName: String, 指定查詢的屬性名
回傳結果:
- String, 傳回屬性的值
setAttribute
建立或改變某個新屬性
1
2XmlElement.setAttribute(String name,
String value);
呼叫參數:
- name: String, 指定要設定的屬性名
- value: String, 指定要設定的屬性值
此方法把指定的屬性設定為指定的值。如果不存在具有指定名稱的屬性,則該方法將建立一個新屬性
setAttributeNS
建立或改變具有命名空間的屬性
1
2
3XmlElement.setAttributeNS(String namespaceURI,
String qualifiedName,
String value);
呼叫參數:
- namespaceURI: String, 指定要設定的命名空間URI
- qualifiedName: String, 指定要設定的屬性名
- value: String, 指定要設定的屬性值
此方法與setAttribute 方法類似,只是要建立或設定的屬性由命名空間URI 和限定名(由名字空間前綴、冒號和名字空間中的本地名稱構成)共同指定。除了可以改變一個屬性的值以外,使用該方法還可以改變屬性的名字空間前綴
removeAttribute
透過名稱刪除指定的屬性
1XmlElement.removeAttribute(String name);
呼叫參數:
- name: String, 指定刪除的屬性名
removeAttributeNS
透過命名空間和名稱刪除指定的屬性
1
2XmlElement.removeAttributeNS(String namespaceURI,
String localName);
呼叫參數:
- namespaceURI: String, 指定要刪除的命名空間URI
- localName: String, 指定刪除的屬性名
hasAttribute
查詢目前節點是否擁有指定名稱的屬性
1Boolean XmlElement.hasAttribute(String name);
呼叫參數:
- name: String, 指定查詢的屬性名稱
回傳結果:
- Boolean, 如果目前元素節點擁有指定屬性,則傳回true,否則傳回false
hasAttributeNS
查詢目前節點是否擁有指定命名空間和名稱的屬性
1
2Boolean XmlElement.hasAttributeNS(String namespaceURI,
String localName);
呼叫參數:
- namespaceURI: String, 指定要查詢的命名空間URI
- localName: String, 指定查詢的屬性名稱
回傳結果:
- Boolean, 如果目前元素節點擁有指定屬性,則傳回true,否則傳回false
getElementsByTagName
傳回擁有指定名稱的所有元素的XmlNodeList
1XmlNodeList XmlElement.getElementsByTagName(String tagName);
呼叫參數:
- tagName: String, 需檢索的標籤名稱。值"*" 符合所有的標籤
回傳結果:
- XmlNodeList, 節點樹中具有指定標記的XmlElement 節點的XmlNodeList集合。傳回的元素節點的順序就是它們在來源文件中出現的順序。
此方法將遍歷指定元素的子孫節點,傳回一個XmlElement 節點的XmlNodeList對象,表示所有具有指定標籤名的文檔元素。元素在傳回的陣列中的順序就是它們出現在文件原始碼中的順序。
XmlDocument介面也定義了getElementsByTagName 方法,它與該方法相似,但遍歷整個文檔,而不是遍歷某個元素的子孫節點。
getElementsByTagNameNS
傳回擁有指定命名空間和名稱的所有元素的XmlNodeList
1
2XmlNodeList XmlElement.getElementsByTagNameNS(String namespaceURI,
String localName);
呼叫參數:
- namespaceURI: String, 指定要查詢的命名空間URI
- localName: String, 需檢索的標籤名稱。值"*" 符合所有的標籤
回傳結果:
- XmlNodeList, 節點樹中具有指定標記的XmlElement 節點的XmlNodeList集合。傳回的元素節點的順序就是它們在來源文件中出現的順序。
此方法與getElementsByTagName 方法相似,只是想取得的元素的標記名被指定為命名空間URI 和在命名空間中定義的本地名的組合。
getElementById
傳回擁有指定id 屬性的元素
1XmlElement XmlElement.getElementById(String id);
呼叫參數:
- id: String, 需檢索的id
回傳結果:
- XmlElement, 節點樹中具有指定id 屬性的XmlElement 節點
此方法將遍歷指定元素的子孫節點,傳回一個XmlElement 節點對象,表示第一個具有指定id 屬性的文檔元素。。
XmlDocument介面也定義了getElementsByTagName 方法,它與該方法相似,但遍歷整個文檔,而不是遍歷某個元素的子孫節點。
getElementsByClassName
傳回帶有指定class 名稱的所有元素的一個節點列表
1XmlNodeList XmlElement.getElementsByClassName(String className);
呼叫參數:
- className: String, 需檢索的class 名稱
回傳結果:
- XmlNodeList, 文檔樹中具有指定class 名的XmlElement 節點的XmlNodeList集合。傳回的元素節點的順序就是它們在來源文件中出現的順序。
該方法將返回一個XmlNodeList物件(可作為只讀數群組處理),此物件存放文件中具有指定class 名的所有XmlElement 節點,它們存放的順序就是在來源文件中出現的順序。XmlNodeList物件是「活」的,也就是如果在文件中新增或刪除了指定標籤名的元素,它的內容會自動進行必要的更新。
hasChildNodes
查詢是否存在子節點
1Boolean XmlElement.hasChildNodes();
回傳結果:
- Boolean, 存在任何子節點時回傳true,否則回傳false
normalize
合併相鄰的Text 節點並刪除空的Text 節點
1XmlElement.normalize();
這個方法將遍歷目前節點的所有子孫節點,透過刪除空的Text 節點,已經合併所有相鄰的Text 節點來規範化文件。此方法在進行節點的插入或刪除操作後,對於簡化文件樹的結構很有用。
cloneNode
建立指定的節點的精確拷貝
1XmlNode XmlElement.cloneNode(Boolean deep = true);
呼叫參數:
- deep: Boolean, 是否深度拷貝,為true 時,被複製的節點會複製原節點的所有子節點
回傳結果:
- XmlNode, 返回所複製的節點
該方法將複製並傳回呼叫它的節點的副本。如果傳遞給它的參數是true,它還將遞歸複製目前節點的所有子孫節點。否則,它只複製當前節點。傳回的節點不屬於文件樹,它的parentNode 屬性為null。當複製的是Element 節點時,它的所有屬性都會被複製。
lookupPrefix
傳回在目前節點上符合指定的命名空間URI 的前綴
1String XmlElement.lookupPrefix(String namespaceURI);
呼叫參數:
- namespaceURI: String, 指定符合的命名空間URI
回傳結果:
- String, 傳回符合的前綴,未符合到返回null
lookupNamespaceURI
傳回在目前節點上符合指定的前綴的命名空間URI
1String XmlElement.lookupNamespaceURI(String prefix);
呼叫參數:
- prefix: String, 指定符合的前綴
回傳結果:
- String, 傳回符合的命名空間URI,未符合到傳回null
insertBefore
在已有的子節點前插入一個新的子節點
1
2XmlNode XmlElement.insertBefore(XmlNode newChild,
XmlNode refChild);
呼叫參數:
回傳結果:
- XmlNode, 返回新的子節點
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
insertAfter
在已有的子節點後插入一個新的子節點
1
2XmlNode XmlElement.insertAfter(XmlNode newChild,
XmlNode refChild);
呼叫參數:
回傳結果:
- XmlNode, 返回新的子節點
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
appendChild
在節點的子節點清單的末尾新增新的子節點
1XmlNode XmlElement.appendChild(XmlNode newChild);
呼叫參數:
- newChild:XmlNode, 指定新增的節點
回傳結果:
- XmlNode, 返回這個新的子節點
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
replaceChild
將某個子節點替換為另一個
1
2XmlNode XmlElement.replaceChild(XmlNode newChild,
XmlNode oldChild);
呼叫參數:
回傳結果:
- XmlNode, 如替換成功,此方法可傳回被替換的節點,如替換失敗,則傳回null
如果文檔樹中已經存在了newChild,它將從文檔樹中刪除,然後重新插入它的新位置。來自一個文檔的節點(或由一個文檔建立的節點)不能插入另一個文檔。也就是說,newChild 的ownerDocument 屬性必須與目前節點的ownerDocument 屬性相同。
removeChild
從子節點清單中刪除某個節點
1XmlNode XmlElement.removeChild(XmlNode oldChild);
呼叫參數:
- oldChild:XmlNode, 指定被刪除的節點
回傳結果:
- XmlNode, 如刪除成功,此方法可傳回刪除的節點,如失敗,則傳回null
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String XmlElement.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value XmlElement.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值