XML DOM Node List

Ang listahan ng mga node ay ibinigay ng mga paraan na getElementsByTagName() at ang katangian na childNodes.

Example

Ang mga halimbawa na ito ay gumagamit ng file na XML. books.xml.

Function loadXMLDoc()sa labas na JavaScript, na ginagamit upang maglunsad ang file na XML.

Makuha ang teksto mula sa unang <title> elemento
Ang halimbawa na ito ay gumagamit ng paraan na getElementsByTagName() upang makuha ang teksto mula sa unang <title> elemento sa "books.xml".
Sa pamamagitan ng pagikot sa mga node gamit ang katangian ng haba
Ang halimbawa na ito ay gumagamit ng listahan ng node at ang katangian ng haba upang umikot sa lahat ng <title> elemento sa "books.xml".
Makuha ang mga katangian ng elemento
Ang halimbawa na ito ay gumagamit ng listahan ng katangian upang makuha ang mga katangian mula sa unang <title> elemento sa "books.xml".

DOM Node List

Kapag ginagamit ang mga katangian o mga paraan tulad ng childNodes o getElementsByTagName(), ito ay ibibigay ang NodeList na bagay.

Ang NodeList na bagay ay naglalarawan ng listahan ng mga node, na may parehong kaisipan sa XML.

Gamit ang index na nagsimula sa 0 upang pumunta sa mga node sa listahan ng node.

Ang sumusunod na imahe ay naglalarawan ng "}}books.xml" Ang listahan ng node ng <title> element:

DOM node list

Ang sumusunod na kodigo ay naglalarawan sa pamamagitan ng paggamit ng loadXMLDoc() " Load "books.xml" sa xmlDoc at ibibigay "books.xml" Ang isang listahan ng node ng title element:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title");

Pagkatapos ng epekto ng mga ito, x ay magiging NodeList object.

Ang mga sumusunod na code snippet ay ibibigay ang teksto mula sa unang <title> element ng listahan ng node x:

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

Pagkatapos ng epekto ng mga ito, txt = "Everyday Italian".

TIY

Node List Length

Ang NodeList object ay magpapatuloy sa kanyang pag-update. Kung inalis o idinagdag ang elemento, ang listahan ay magiging update ng awtomatiko.

Ang length attribute ng NodeList object ay ang bilang ng mga node sa listahan.

Ang sumusunod na kodigo ay naglalarawan sa pamamagitan ng paggamit ng loadXMLDoc() Iset ang "books.xml" Load xmlDoc, at ibibigay ang bilang ng <title> element sa "books.xml":

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('title').length;

Pagkatapos ng epekto ng mga ito, x = 4.

Ang haba ng listahan ng node ay maaaring gamitin upang suriin ang lahat ng elemento sa listahan.

Ang mga sumusunod na code snippet ay gumagamit ng length attribute upang suriin ang listahan ng <title> element:

xmlDoc=loadXMLDoc("books.xml");
//Ang x variable ay maglalaman ng listahan ng node
x=xmlDoc.getElementsByTagName('title');
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("<br />");
}

Ibubunyag:

Harry Potter
Everyday Italian
XQuery Kick Start
Learning XML

Halimbawa ng paliwanag:

  • Sa pamamagitan ng paggamit ng loadXMLDoc() Iset ang "books.xml" Load xmlDoc
  • Iset ang x variable na maglalaman ng listahan ng node ng lahat ng title element.
  • Makakakuha ng halaga mula sa mga text node ng lahat ng <title> element.

TIY

DOM Attribute List (Named Node Map)

Ang attribute ng element node ay ibibigay ang listahan ng mga attribute node.

Ito ay tinatawag na Named Node Map, maliban sa ilang pagkakaiba sa mga method at attribute, ito ay katulad ng listahan ng mga node.

Ang listahan ng attribute ay magpapatuloy sa kanyang pag-update. Kung inalis o idinagdag ang attribute, ang listahan ay magiging update ng awtomatiko.

Ang sumusunod na kodigo ay naglalarawan sa pamamagitan ng paggamit ng loadXMLDoc() Iset ang "books.xml" sa xmlDoc, at mula sa "books.xmlAng una sa 'book' elemento sa "

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName('book')[0].attributes;

Pagkatapos ng pagpapatupad ng ito, ang x.length ay katumbas ng bilang ng mga attribute, at maaaring gamitin ang x.getNamedItem() para ibunyag ang mga node ng attribute.

Ang sumusunod na kodigo ay naglalarawan ng halaga ng 'category' attribute ng isang book, at ang bilang ng mga attribute:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("book")[0].attributes;
document.write(x.getNamedItem("category").nodeValue);
document.write("<br />" + x.length);

Ibubunyag:

children
1

Halimbawa ng paliwanag:

  • Sa pamamagitan ng paggamit ng loadXMLDoc() Iset ang "books.xml"Load sa xmlDoc
  • Iset ang x bilang isang listahan ng lahat ng attribute ng unang <book> elemento
  • Ibubunyag ang halaga mula sa 'category' attribute
  • Ibubunyag ang haba ng listahan ng attribute

TIY