XML DOM - Düğümlere Erişim
DOM ile bir XML belgesindeki her düğüme erişebilirsiniz.
Kendiniz Deneyin - Örnekler
Aşağıdaki örnekler, book.xml XML dosyasını kullanır .
"books.xml" içindeki üçüncü <title> öğesini almak için getElementsByTagName() yöntemini kullanın
arasında döngü yapın "books.xml" içindeki tüm <title> öğeleri arasında döngü yapmak için length özelliğini kullanın
"books.xml" içindeki kök öğenin düğüm türünü almak için nodeType özelliğini kullanın.
yapın, yalnızca "books.xml" içindeki öğe düğümlerini işlemek için nodeType özelliğini kullanın.
yapın "books.xml" öğesindeki öğe düğümlerini işlemek için nodeType özelliğini ve nextSibling özelliğini kullanın.
Düğümlere Erişim
Bir düğüme üç şekilde erişebilirsiniz:
1. getElementsByTagName() yöntemini kullanarak
2. Düğümler ağacında döngü yaparak (geçerek).
3. Düğüm ilişkilerini kullanarak düğüm ağacında gezinerek.
getElementsByTagName() Yöntemi
getElementsByTagName(), belirtilen etiket adına sahip tüm öğeleri döndürür.
Sözdizimi
node.getElementsByTagName("tagname");
Örnek
Aşağıdaki örnek, x öğesinin altındaki tüm <title> öğelerini döndürür:
x.getElementsByTagName("title");
Yukarıdaki örneğin yalnızca x düğümünün altındaki <title> öğelerini döndürdüğünü unutmayın. XML belgesindeki tüm <title> öğelerini döndürmek için şunu kullanın:
xmlDoc.getElementsByTagName("title");
burada xmlDoc belgenin kendisidir (belge düğümü).
DOM Düğüm Listesi
getElementsByTagName() yöntemi bir düğüm listesi döndürür. Bir düğüm listesi, bir düğüm dizisidir.
x = xmlDoc.getElementsByTagName("title");
x içindeki <title> elemanlarına indeks numarası ile erişilebilir. Üçüncü <title>'a erişmek için şunları yazabilirsiniz::
y = x[2];
Not: İndeks 0'dan başlar.
Bu öğreticinin sonraki bir bölümünde düğüm listeleri hakkında daha fazla bilgi edineceksiniz.
DOM Düğüm Listesi Uzunluğu
length özelliği, bir düğüm listesinin uzunluğunu (düğüm sayısı) tanımlar.
length özelliğini kullanarak bir düğüm listesinde dolaşabilirsiniz:
Örnek
var
x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
//
do something for each node
}
Düğüm Türleri
XML belgesinin documentElement özelliği, kök düğümdür .
Bir düğümün nodeName özelliği, düğümün adıdır.
Bir düğümün nodeType özelliği, düğümün türüdür.
Bu öğreticinin sonraki bölümünde düğüm özellikleri hakkında daha fazla bilgi edineceksiniz.
Çapraz Düğümler
Aşağıdaki kod, kök düğümün aynı zamanda öğe düğümleri olan alt düğümleri arasında dolaşır:
Örnek
txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++)
{
// Process only element nodes (type 1)
if (x[i].nodeType == 1) {
txt += x[i].nodeName + "<br>";
}
}
Örnek açıkladı:
- " books.xml " dosyasını xmlDoc'a yüklediğinizi varsayalım .
- Kök öğenin alt düğümlerini alın (xmlDoc)
- Her alt düğüm için düğüm türünü kontrol edin. Düğüm tipi "1" ise bu bir eleman düğümüdür.
- Bir öğe düğümüyse, düğümün adını yazdırın
Düğüm İlişkilerinde Gezinme
Aşağıdaki kod, düğüm ilişkilerini kullanarak düğüm ağacında gezinir:
Örnek
x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++)
{
// Process only element nodes (type 1)
if (y.nodeType == 1) {
txt += y.nodeName + "<br>";
}
y = y.nextSibling;
}
Örnek açıkladı:
- " books.xml " dosyasını xmlDoc'a yüklediğinizi varsayalım .
- İlk kitap öğesinin alt düğümlerini alın
- "y" değişkenini ilk kitap öğesinin ilk alt düğümü olacak şekilde ayarlayın
- Her alt düğüm için (ilk alt düğüm "y" ile başlayarak):
- Düğüm türünü kontrol edin. Düğüm tipi "1" ise bu bir eleman düğümüdür.
- Bir öğe düğümüyse, düğümün adını yazdırın
- "y" değişkenini bir sonraki kardeş düğüm olarak ayarlayın ve döngüden tekrar geçin