XML DOM Düğümlerine Erişim
- Önceki Sayfa DOM Düğümü
- Sonraki Sayfa DOM Düğüm Bilgileri
DOM ile, XML belgesindeki her düğümü erişebilirsiniz.
Düğümü erişmek
Düğümü erişmek için üç yolla erişebilirsiniz:
- getElementsByTagName() yöntemini kullanarak
- Düğüm ağacını dolaşarak (tarayarak)
- Düğüm ilişkilerini kullanarak düğüm ağacında gezinmek
getElementsByTagName() yöntemi
getElementsByTagName()
Belirtilen etiket adına sahip tüm elementleri döndürür.
Sözdizimi
node.getElementsByTagName("tagname");
Örnek
Aşağıdaki örnek, x elementindeki tüm <title> elementlerini döndürür:
x.getElementsByTagName("title");
Lütfen dikkat edin, yukarıdaki örnek sadece x düğümündeki <title> elementlerini döndürür. XML belgesindeki tüm <title> elementlerini döndürmek için aşağıdaki gibi kullanın:
xmlDoc.getElementsByTagName("title");
Burada,xmlDoc
dosya kendisi (dosya düğümü).
DOM düğüm listesi
getElementsByTagName()
Metodu, nod listesini döndürür. Nod listesi, nodların dizisidir.
x = xmlDoc.getElementsByTagName("title");
Yöntemi, nod listesini döndürür. Nod listesi, nodların dizisidir. Nodun üçüncü <title> elementine erişmek için şu şekilde yazabilirsiniz:
x = xmlDoc.getElementsByTagName("title");
y = x[2];Açıklama:
İndeks 0'dan başlar.
length
DOM nod listesi uzunluğu
Nod listesinin uzunluğunu (nod sayısını) tanımlamak için length
Özelliği ile nod listesini döngü içinde gezinmek için kullanabilirsiniz:
Örnek
var x = xmlDoc.getElementsByTagName("title"); for (i = 0; i <x.length; i++) { // Her nodun işlemek için buraya kod yazabilirsiniz }
Nod türü
XML belgesinin documentElement
Özellik, kök noddur.
Nodun nodeName
Özellik, nodun adıdır.
Nodun nodeType
Özellik, nodun türüdür.
Nod özellikleri hakkında daha fazla içerik, bu dersin bir sonraki bölümünde öğreneceksiniz.
Nod gezinme
Aşağıdaki kod, kök nodunun alt nodlarını (aynı zamanda element nodları) döngü içinde gezinir:
Örnek
txt = ""; x = xmlDoc.documentElement.childNodes; for (i = 0; i <x.length; i++) { // Yalnızca element nodlarını (tip 1) işlemek if (x[i].nodeType == 1) { txt += x[i].nodeName + "<br>"; } }
Örnek açıklama:
- Örneğin, "books.xml" Yükle
xmlDoc
- Kök element (xmlDoc) alt nodlarını alın
- Her bir alt düğümün düğüm türünü kontrol eder. Eğer düğüm türü "
1
" ise, element nodudur - Eğer element noduysa, nod adını çıktıya yaz
Nod ilişkileri dolaşma
Aşağıdaki kod, nod ilişkilerini kullanarak nod ağacında dolaşmayı sağlar:
Örnek
x = xmlDoc.getElementsByTagName("book")[0]; xlen = x.childNodes.length; y = x.firstChild; txt = ""; for (i = 0; i <xlen; i++) { // Yalnızca element nodlarını (tip 1) işlemek if (y.nodeType == 1) { txt += y.nodeName + "<br>"; } y = y.nextSibling; }
Örnek açıklama:
- Örneğin, "books.xml" Yükle
xmlDoc
- İlk book element'in alt nodlarını al
- " y değişkeni ilk book elemanının ilk alt düğümü olarak ayarlar
- Her bir alt düğüm için (ilk alt düğüm "
y
" ile başlıyorsa ( - Her bir alt düğümün düğüm türünü kontrol eder. Eğer düğüm türü "
1
" ise, o element düğümüdür - Eğer düğüm bir element düğümse, o düğümün adını çıktı verir
- " Değişkeni ayarlamak için "
y
" Değişkeni bir sonraki eşdeğer düğüm olarak ayarlanır ve döngü tekrar çalıştırılır
- Önceki Sayfa DOM Düğümü
- Sonraki Sayfa DOM Düğüm Bilgileri