XML DOM 教學課程登入
XML DOM 教學課程
作者:php.cn  更新時間:2022-04-13 15:27:56

DOM元素


XML DOM - Element 物件


#Element 物件

Element 物件代表 XML 文件中的一個元素。元素可以包含屬性、其他元素或文字。如果一個元素包含文本,則在文本節點中表示該文本。

重要事項:文字永遠儲存在文字節點中。在 DOM 處理過程中的一個常見的錯誤是,導航到元素節點,並認為此節點含有文字。不過,即使最簡單的元素節點之下也擁有文字節點。舉例,在 <year>2005</year> 中,有一個元素節點(year),同時此節點之下存在一個文本節點,其中含有文本(2005)。

由於 Element 物件也是一種節點,因此它可繼承 Node 物件的屬性和方法。

Element 物件屬性

##attributes傳回元素的屬性的NamedNodeMap。 baseURI傳回元素的絕對基準 URI。 childNodes傳回元素的子節點的 NodeList。 firstChild傳回元素的第一個子節點。 lastChild傳回元素的最後一個子節點。 localName傳回元素名稱的本機部分。 namespaceURI傳回元素的命名空間 URI。 nextSibling傳回元素之後緊接的節點。 nodeName傳回節點的名稱,根據其類型。 nodeType傳回節點的型別。 ownerDocument傳回元素所屬的根元素 (document 物件)。 parentNode傳回元素的父節點。 prefix設定或傳回元素的命名空間前綴。 previousSibling傳回元素之前緊接的節點。 schemaTypeInfo傳回與元素相關聯的類型資訊。 tagName傳回元素的名稱。 textContent設定或傳回元素及其後代的文字內容。

Element 物件方法

屬性#描述
方法描述
appendChild()把新的子節點加入到節點的子節點清單末尾。
cloneNode()複製節點。
compareDocumentPosition()比較兩個節點的文件位置。
getAttribute()傳回屬性的值。
getAttributeNS()傳回屬性的值(有命名空間)。
getAttributeNode()以 Attribute 物件傳回屬性節點。
getAttributeNodeNS()以 Attribute 物件傳回屬性節點(有命名空間)。
getElementsByTagName()傳回符合的元素節點及它們的子節點的 NodeList。
getElementsByTagNameNS()傳回符合的元素節點(有命名空間)及它們的子節點的 NodeList。
getFeature(feature,version)傳回 DOM 對象,此物件可執行具有指定特性和版本的專門的 API。
getUserData(key)傳回與節點上鍵關聯的物件。此物件必須先透過使用相同的鍵呼叫 setUserData 來設定到此節點。
hasAttribute()傳回元素是否擁有符合指定名稱的屬性。
hasAttributeNS()傳回元素是否擁有符合指定名稱和命名空間的屬性。
hasAttributes()傳回元素是否擁有屬性。
hasChildNodes()傳回元素是否擁有子節點。
insertBefore()在已有的子節點之前插入一個新的子節點。
isDefaultNamespace(URI)傳回指定的 namespaceURI 是否為預設。
isEqualNode()檢查兩個節點是否相等。
isSameNode()檢查兩個節點是否為相同節點。
isSupported(feature,version)傳回指定的特性是否在此元素上支援。
lookupNamespaceURI()傳回符合指定前綴的命名空間 URI。
lookupPrefix()傳回符合指定命名空間 URI 的前綴。
normalize()把節點(包含屬性)下的所有文字節點放在一個"標準"的格式中,其中只有結構(例如元素、註釋、處理指令、CDATA 區段以及實體引用)來分隔Text 節點,例如,既沒有相鄰的Text 節點,也沒有空的Text 節點。
removeAttribute()刪除指定的屬性。
removeAttributeNS()刪除指定的屬性(有命名空間)。
removeAttributeNode()刪除指定的屬性節點。
removeChild()#刪除子節點。
replaceChild()#取代子節點。
setUserData(key,data,handler)把物件關聯到元素上的鍵。
setAttribute()新增屬性。
setAttributeNS()新增屬性(有命名空間)。
setAttributeNode()新增新的屬性節點。
setAttributeNodeNS(attrnode)新增新的屬性節點(有命名空間)。
setIdAttribute(name,isId)如果Attribute 物件的isId 屬性為true,那麼此方法會把指定的屬性宣告為使用者決定ID 的屬性( user-determined ID attribute)。
setIdAttributeNS(uri,name,isId)#如果Attribute 物件的isId 屬性為true,那麼此方法會將指定的屬性宣告為一個使用者確定ID 的屬性(user-determined ID attribute)(有命名空間)。
setIdAttributeNode(idAttr,isId)#如果Attribute 物件的isId 屬性為true,那麼此方法會將指定的屬性宣告為一個使用者確定ID 的屬性( user-determined ID attribute)。

PHP中文網