XML DOM Düğüm Lokasyonu
- Önceki sayfa DOM tarayıcı
- Sonraki sayfa DOM düğüm alımı
düğümün yerini düğüm arasındaki ilişkilerle belirleyebilirsiniz.
Örnek
Aşağıdaki örnek XML dosyasını kullanır books.xml.
fonksiyon loadXMLDoc()dışarıdaki JavaScript'te, XML dosyasını yüklemek için kullanılır.
- Düğümün ebeveyn düğümünü elde etme
- Bu örnek, parentNode özelliği kullanarak düğümün ebeveyn düğümünü almak için kullanılır.
- Düğümün ilk alt düğümünü alın
- Bu örnek, firstChild() yöntemi ve bir özelleştirilmiş fonksiyon kullanarak bir düğümün ilk alt düğümünü almak için kullanılır.
DOM düğümünü belirleme
Düğüm arasındaki ilişkiler aracılığıyla düğüm ağacındaki düğümlere erişmek, genellikle düğüm navigasyonu ("navigating nodes") olarak adlandırılır.
XML DOM'da, düğüm ilişkileri düğüm özellikleri olarak tanımlanır:
- parentNode
- childNodes
- firstChild
- lastChild
- nextSibling
- previousSibling
Aşağıdaki görsel, books.xml Bir node ağacının bir parçasıdır ve düğüm arasındaki ilişkileri açıklar:

DOM - Ebeveyn düğümü
Tüm düğüm doar bir ebeveyn düğümüne sahiptir. Aşağıdaki kod, <book>ın ebeveyn düğümünü belirler:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; document.write(x.parentNode.nodeName);
Örnek açıklaması:
- Kullanarak loadXMLDoc() "books.xml" xmlDoce yüklenir
- İlk <book> elementini alın
- "x"in ebeveyn düğümünün düğüm adını çıktıya alın
Boş metin düğümünü önlemek
Firefox ve diğer bazı tarayıcılar, boş boşluk veya satır sonlandırma işaretlerini metin düğümeleri olarak kabul ederken, IE bunu yapmaz.
Bu, aşağıdaki özelliklerin kullanıldığında bir soruna neden olur: firstChild, lastChild, nextSibling, previousSibling.
Boş metin düğümüne (element düğümeleri arasındaki boşluk ve satır sonlandırma işaretleri) ulaşmak için bir fonksiyon kullanarak düğüm türünü kontrol ederiz:
function get_nextSibling(n) { y=n.nextSibling; while (y.nodeType!=1) { y=y.nextSibling; } return y; }
Yukarıdaki fonksiyonla, get_nextSibling(node) kullanarak node.nextSibling özelliğini değiştirebiliriz.
Kod açıklaması:
Element düğümünün türü 1'dir. Eş düğüm element düğümü değilse, bir sonraki düğüme geçin ve element düğümüne kadar ilerleyin. Bu yöntemle, IE ve Firefox'ta aynı sonuç elde edilebilir.
İlk elementi alın
Aşağıdaki kod, ilk <book>ın ilk element düğümünü gösterir:
<html> <head> <script type="text/javascript" src="loadxmldoc.js"> </script> <script type="text/javascript"> //kontrol et ki ilk düğüm bir element düğümü mu function get_firstChild(n) { y=n.firstChild; while (y.nodeType!=1) { y=y.nextSibling; } return y; } </script> </head> <body> <script type="text/javascript"> xmlDoc=loadXMLDoc("books.xml"); x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]); document.write(x.nodeName); </script> </body> </html>
Çıktı:
title
Örnek açıklaması:
- Kullanarak loadXMLDoc() "books.xml" xmlDoc içinde yüklenir
- get_firstChild fonksiyonunu kullanarak ilk <book> üzerinde, element node içindeki ilk alt node'u almak için
- İlk alt node'un (element node) node adını çıktılandırır
Örnek
Aşağıdaki örnek benzer fonksiyonları kullanır:
- Önceki sayfa DOM tarayıcı
- Sonraki sayfa DOM düğüm alımı