DOM ile, bir XML belgesindeki her düğümü erişebilir.
it Yourself deneyin - Örnekler
Aşağıdaki örnekler, XML dosyası kullanmak books.xml .
Bir düğüm listesindeki indeks numarasını kullanarak bir düğüm yapın
Kullan getElementsByTagName() üçüncü almak için yöntem <title> elementini "books.xml"
Uzunluk özelliğini kullanarak düğümleri arasında döngü
Tüm döngü uzunluğu özelliğini kullanın <title> öğeler "books.xml"
Bir elemanın düğüm türü gör
Kök elemanın düğüm türünü almak için noteType özelliğini kullanın "books.xml" .
Elemanı düğümleri arasında döngü
Tek işlem elemanı düğümlerine noteType özelliğini kullanın "books.xml" .
Düğüm ilişkileri kullanarak elemanı düğümleri arasında döngü
Öğesi düğümlerini işlemek için noteType özelliği ve nextSibling özelliğini kullanın "books.xml" .
Düğümleri erişme
Üç şekilde bir düğüm erişebilir:
Kullanılarak 1. getElementsByTagName() metodu
Döngü tarafından 2. (traversing) düğümleri ağaç.
, Düğüm ağaç navigasyon düğüm ilişkileri kullanarak 3..
getElementsByTagName() Yöntem
getElementsByTagName() belirtilen etiket adı ile tüm öğeleri döndürür.
Sözdizimi
Örnek Aşağıdaki örnek, bu döner <title> X elemanı altında elemanları:
x.getElementsByTagName("title");
Sadece yukarıda döner örneğin unutmayın <title> X düğümü altında elemanları. Tüm dönmek için <title> XML belgesi kullanımda unsurları:
xmlDoc.getElementsByTagName("title");
burada xmlDoc belge kendisi (document node) .
DOM Düğüm Listesi
getElementsByTagName() yöntemi, bir düğüm listesi verir. Bir düğüm listesi düğümlerin bir dizidir.
x = xmlDoc.getElementsByTagName("title");
<title> x elemanları dizin numarası ile erişilebilir. Üçüncü erişmek için <title> yazabilirsiniz ::
y = x[2];
Note: endeksi 0 ile başlar.
Bu öğretici bir sonraki bölümde düğüm listeleri hakkında daha fazla öğreneceksiniz.
DOM Düğüm Liste Uzunluğu
Uzunluk özelliği bir düğüm listesi uzunluğunu tanımlar (the number of nodes) .
length özelliğini kullanarak bir düğüm listesi üzerinden yapabilirsiniz döngü:
Örnek
var
x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
//
do something for each node
}
Kendin dene "
Düğüm Çeşitleri
documentElement XML belgesinin mülk kök düğümdür.
nodeName bir düğümün mülkiyet düğümün adıdır.
nodeType bir düğümün özelliği düğümünden türüdür.
Bu yazının sonraki bölümde düğüm özellikleri hakkında daha fazla öğreneceksiniz.
Traversing Düğümler
Aşağıdaki kod kök düğümün aynı zamanda eleman düğümleri olan çocuk düğümleri, döngüler:
Ö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>";
}
}
Kendin dene " Örnek açıklanmıştır:
- Eğer "yüklediğiniz varsayalım books.xml xmlDoc içine"
- Kök öğesinin alt düğümleri alın (xmlDoc)
- Her çocuk düğüm için, düğüm türünü kontrol edin. Düğüm tipi ise "1" bir eleman düğümüdür
- Çıktı düğümün adını bir eleman düğümü ise
Gezinme Düğüm İlişkiler
Aşağıdaki kod düğüm ilişkileri kullanarak düğüm ağacı gider:
Ö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;
} Kendin dene " Örnek açıklanmıştır:
- Eğer "yüklediğiniz varsayalım books.xml xmlDoc içine"
- ilk kitap öğesinin alt düğümleri alın
- Set "y" ilk kitap elemanın ilk çocuğu düğüm olarak değişken
- Her bir çocuk düğüm için (starting with the first child node "y") :
- Düğüm türünü kontrol edin. Düğüm tipi ise "1" bir eleman düğümüdür
- Çıktı düğümün adını bir eleman düğümü ise
- Set "y" eş düğüme olmak değişken ve tekrar döngü boyunca çalıştırmak