DOM tugunlariga murojaat


DOM yordamida XML hujjatdagi har bir tugunga murojaat qilishingiz mumkin.


ULASHISH

Tugunlarga murojaat qilish

Tugunga uch xil usulda murojaat qilishingiz mumkin:

  1. getElementsByTagName() metodidan foydalanib
  2. Tugunlar daraxtini sikl bilan aylanib chiqib (traversing)
  3. Tugunlar o‘rtasidagi munosabatlardan foydalanib, tugunlar daraxti bo‘ylab harakatlanib

getElementsByTagName() metodi

getElementsByTagName() ko‘rsatilgan teg nomiga ega barcha elementlarni qaytaradi.

Sintaksis

node.getElementsByTagName("tagname");

Misol

Quyidagi misol x elementi ostidagi barcha <title> elementlarini qaytaradi:

x.getElementsByTagName("title");

E’tibor bering, yuqoridagi misol faqat x tuguni ostidagi <title> elementlarini qaytaradi. XML hujjatdagi barcha <title> elementlarini qaytarish uchun quyidagidan foydalaning:

xmlDoc.getElementsByTagName("title");

bu yerda xmlDoc — hujjatning o‘zi (hujjat tuguni).



DOM tugunlar ro‘yxati

getElementsByTagName() metodi tugunlar ro‘yxatini (node list) qaytaradi. Tugunlar ro‘yxati — tugunlar massivi.

x = xmlDoc.getElementsByTagName("title");

x dagi <title> elementlariga indeks raqami orqali murojaat qilish mumkin. Uchinchi <title> elementiga murojaat qilish uchun quyidagicha yozishingiz mumkin:

y = x[2];

Eslatma: Indeks 0 dan boshlanadi.

O‘zingiz sinab ko‘ring »


DOM tugunlar ro‘yxati uzunligi

length xususiyati tugunlar ro‘yxatining uzunligini (tugunlar sonini) belgilaydi.

length xususiyatidan foydalanib, tugunlar ro‘yxatini sikl bilan aylanib chiqishingiz mumkin:

Misol

var x = xmlDoc.getElementsByTagName("title"); for (i = 0; i <x.length; i++) {   // do something for each node   }
O‘zingiz sinab ko‘ring »

Tugun turlari

XML hujjatning documentElement xususiyati — ildiz tugun.

Tugunning nodeName xususiyati — tugunning nomi.

Tugunning nodeType xususiyati — tugunning turi.

Tugun xususiyatlari haqida ushbu darslikning keyingi bobida ko‘proq o‘rganasiz.

O‘zingiz sinab ko‘ring »


Tugunlarni aylanib chiqish

Quyidagi kod ildiz tugunning element tugunlari ham bo‘lgan bola tugunlarini sikl bilan aylanib chiqadi:

Misol

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>";   } }
O‘zingiz sinab ko‘ring »

Misol tushuntirilishi:

  1. Faraz qilaylik, "books.xml" fayli xmlDoc’ga yuklangan
  2. Ildiz elementning (xmlDoc) bola tugunlarini oling
  3. Har bir bola tugun uchun tugun turini tekshiring. Agar tugun turi "1" bo‘lsa, u element tuguni hisoblanadi
  4. Agar tugun element tuguni bo‘lsa, uning nomini chiqaring

Tugunlar munosabatlari bo‘ylab harakatlanish

Quyidagi kod tugunlar munosabatlaridan foydalanib tugunlar daraxti bo‘ylab harakatlanadi:

Misol

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; }
O‘zingiz sinab ko‘ring »

Misol tushuntirilishi:

  1. Faraz qilaylik, "books.xml" fayli xmlDoc’ga yuklangan
  2. Birinchi book elementining bola tugunlarini oling
  3. "y" o‘zgaruvchisiga birinchi book elementining birinchi bola tugunini o‘zlashtiring
  4. Har bir bola tugun uchun (birinchi bola tugun "y"dan boshlab):
  5. Tugun turini tekshiring. Agar tugun turi "1" bo‘lsa, u element tuguni hisoblanadi
  6. Agar tugun element tuguni bo‘lsa, uning nomini chiqaring
  7. "y" o‘zgaruvchisiga keyingi qo‘shni tugunni o‘zlashtiring va siklni yana bajaring

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!