Listahan ng Nodong DOM ng XML

getElementsByTagName() mga paraan at childNodes katangian ay maaaring ibigay ang listahan ng mga node.

DOM Nodong Listahan

Kapag ginagamit ang childNodes o getElementsByTagName() Kapag ginagamit ang mga katangian o mga paraan tulad ng atbp., ay ibibigay ang NodeList object.

Ang NodeList object ay naglalarawan ng listahan ng mga node, na may pagkakasunod-sunod katulad ng XML.

Ang mga node sa listahan ng NodeList ay maaaring ma-access sa pamamagitan ng index na nagsisimula sa 0.

Ang ilustrasyon sa ibaba ay naglalarawan ng: books.xml Listahan ng mga node ng elementong <title>:

DOM Nodong Listahan

Ipagpalagay na nai-load na ang "books.xml" sa variable na xmlDoc.

Ang code snippet na ito ay ibibigay ang listahan ng mga node ng elementong title sa "books.xml":

x = xmlDoc.getElementsByTagName("title");

Pagkatapos ng pagpapatupad ng mga naka-ulat sa itaas, ang x ay naging NodeList object.

បទពុម្ពនេះត្រូវបានប្រើដើម្បីបញ្ចូលអត្តបទនៃ <title> ដំបូងនៅក្នុងបញ្ជី (x)

ឧទាហរណ៍

var txt = x[0].childNodes[0].nodeValue;

Try it yourself

txt = "雅舍谈吃"。

ចំនួនអត្តបទនៃបញ្ជី

NodeList ទុកដោយថ្មីៗ ប្រសិនបើបំបាត់ឬបន្ថែមអត្តបទ បញ្ជីនឹងចុះការកែប្រែដោយស្វ័យប្រវត្តិ

បញ្ជីអត្តបទ length អត្តបទគឺចំនួនអត្តបទនៅក្នុងបញ្ជី

បទពុម្ពនេះត្រូវបានប្រើដើម្បីបញ្ចូលចំនួន <title> នៅ books.xml

x = xmlDoc.getElementsByTagName('title').length;

បន្ទាប់ពីការប្រតិបត្តិបញ្ញត្តិខាងលើx ជាអត្តបទ x គឺ 5。

ចំនួនអត្តបទនៃបញ្ជីអត្តបទអាចត្រូវបានប្រើដើម្បីបត្តិប្រតិបត្តិជាមួយនឹងអត្តបទនៅក្នុងបញ្ជី

បទពុម្ពនេះប្រើ length ដោយរដែលអត្តបទនៃ <title> ដើម្បីបត្តិប្រតិបត្តិ

ឧទាហរណ៍

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;
for (i = 0; i <xLen; i++) {
    txt += x[i].childNodes[0].nodeValue) + " ";
}

Try it yourself

Example Explanation:

  1. Assuming books.xml ត្រូវបានដាក់នៅ xmlDoc
  2. កែប្រែ x ដើម្បីរកបញ្ជីអត្តបទនៃអត្តបទ <title> ទាំងអស់
  3. ទទួលបានតម្លៃអត្តបទនៃអត្តបទ <title>

DOM អត្តបទបញ្ជី (named node map)

អត្តបទនៃអត្តបទ attributes អត្តបទត្រូវបានគេហៅថា

នេះត្រូវបានហៅថា named node map ដែលដូចបញ្ជីអត្តបទ ប៉ុន្តែមានមុខងារ និងអត្តបទផ្សេងគ្នា

បញ្ជីអត្តបទនឹងត្រូវបានកែប្រែទុកដោយថ្មីៗ ប្រសិនបើបំបាត់ឬបន្ថែមអត្តបទ បញ្ជីនឹងចុះការកែប្រែដោយស្វ័យប្រវត្តិ

បទពុម្ពនេះទទួលបានបញ្ជីអត្តបទនៃអត្តបទ <book> ដំបូងនៅ books.xml

x = xmlDoc.getElementsByTagName('book')[0].attributes;

បន្ទាប់ពីការការពារបទនេះx.length ស្មើនឹងចំនួនអត្តបទ ហើយអាចប្រើ x.getNamedItem() ត្រូវបានគេហៅថា node.

បទពុម្ពនេះទទួលបានតម្លៃអត្តបទ "category" និងចំនួនអត្តបទនៃកុំព្យូទ័រ x ដំបូង

ឧទាហរណ៍

x = xmlDoc.getElementsByTagName("book")[0].attributes;
txt = x.getNamedItem("category").nodeValue + " " + x.length;

Try it yourself

Example Explanation:

  1. Assuming books.xml loaded into xmlDoc
  2. Set the x variable to save the list of all attributes of the first <book> element
  3. Get the value of the 'category' attribute and the length of the attribute list