XML DOM ·ÃÎʽڵã

ͨ¹ý DOM£¬ÄúÄܹ»·ÃÎÊ XML ÎĵµÖеÄÿ¸ö½Úµã¡£

ʵÀý

ÏÂÃæµÄÀý×ÓʹÓà XML Îļþ books.xml¡£

º¯Êý loadXMLDoc()£¬Î»ÓÚÍⲿ JavaScript ÖУ¬ÓÃÓÚ¼ÓÔØ XML Îļþ¡£

ʹÓýڵãÁбíÖеÄϱêºÅÀ´·ÃÎʽڵã
±¾ÀýʹÓà getElementsByTagname() ·½·¨À´»ñµÃ "books.xml" ÖеĵÚÈý¸ö <title> ÔªËØ¡£
ʹÓà length ÊôÐÔÀ´Ñ­»·½Úµã
±¾ÀýʹÓà length ÊôÐÔÀ´Ñ­»· "books.xml" ÖеÄËùÓÐ <title> ÔªËØ¡£
²é¿´ÔªËصĽڵãÀàÐÍ
±¾ÀýʹÓà nodeType ÊôÐÔÀ´»ñµÃ "books.xml" ÖиùÔªËØµÄ½ÚµãÀàÐÍ¡£
Ñ­»·ÔªËؽڵã
±¾ÀýʹÓà nodeType ÊôÐÔÀ´´¦Àí "books.xml" ÖеÄÔªËØ½Úµã¡£
ʹÓýڵãµÄ¹ØÏµÀ´Ñ­»·ÔªËؽڵã
±¾ÀýʹÓà nodeType ÊôÐÔºÍ nextSibling ÊôÐÔÀ´´¦Àí "books.xml" ÖеÄÔªËØ½Úµã¡£

·ÃÎʽڵã

Äú¿ÉÒÔͨ¹ýÈýÖÖ·½·¨À´·ÃÎʽڵ㣺

  1. ͨ¹ýʹÓà getElementsByTagName() ·½·¨
  2. ͨ¹ýÑ­»·£¨±éÀú£©½ÚµãÊ÷
  3. ͨ¹ýÀûÓýڵãµÄ¹ØÏµÔÚ½ÚµãÊ÷Öе¼º½

getElementsByTagName() ·½·¨

getElementsByTagName() ·µ»ØÓµÓÐÖ¸¶¨±êÇ©ÃûµÄËùÓÐÔªËØ¡£

Óï·¨

node.getElementsByTagName("tagname");

ʵÀý

ÏÂÃæµÄÀý×Ó·µ»Ø x ÔªËØÏµÄËùÓÐ <title> ÔªËØ£º

x.getElementsByTagName("title");

Çë×¢Ò⣬ÉÏÃæµÄÀý×Ó½ö·µ»Ø x ½ÚµãÏ嵀 <title> ÔªËØ¡£Òª·µ»Ø XML ÎĵµÖеÄËùÓÐ <title> ÔªËØ£¬ÇëʹÓãº

xmlDoc.getElementsByTagName("title");

ÔÚÕâÀxmlDoc ¾ÍÊÇÎĵµ±¾Éí£¨Îĵµ½Úµã£©¡£

DOM Node List

getElementsByTagName() ·½·¨·µ»Ø½ÚµãÁбí (node list)¡£½ÚµãÁбíÊǽڵãµÄÊý×é¡£

ÏÂÃæµÄ´úÂëͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc ÖУ¬È»ºóÔÚ±äÁ¿ x Öд洢 <title> ½ÚµãµÄÒ»¸öÁÐ±í£º

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

¿Éͨ¹ýϱê·ÃÎÊ x ÖÐµÄ <title> ÔªËØ¡£Òª·ÃÎʵÚÈý¸ö <title>£¬Äú¿ÉÒÔ±àд£º

y=x[2];

TIY

×¢ÊÍ£ºÏ±êÒÔ 0 Æðʼ¡£

ÔÚ±¾½Ì³ÌÖÐÉÔºóµÄÕ½ڣ¬Äú½«Ñ§µ½¸ü¶àÓÐ¹Ø Node List µÄ֪ʶ¡£

DOM Node List Length

length ÊôÐÔ¶¨Òå½ÚµãÁбíµÄ³¤¶È£¨¼´½ÚµãµÄÊýÄ¿£©¡£

ÄúÄܹ»Í¨¹ýʹÓà length ÊôÐÔÀ´Ñ­»·Ò»¸ö½ÚµãÁÐ±í£º

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");

for (i=0;i<x.length;i++)
  { 
  document.write(x[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

Àý×Ó½âÊÍ£º

  1. ʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc
  2. È¡µÃËùÓÐ <title> ÔªËØ½Úµã
  3. Êä³öÿ¸ö <title> ÔªËØµÄÎı¾½ÚµãµÄÖµ

TIY

Node Type

XML ÎĵµµÄ documentElement ÊôÐÔÊǸù½Úµã¡£

½ÚµãµÄ nodeName ÊôÐÔÊǽڵãµÄÃû³Æ¡£

½ÚµãµÄ nodeType ÊôÐÔÊǽڵãµÄÀàÐÍ¡£

Äú½«ÔÚ±¾½Ì³ÌµÄÏÂÒ»½ÚÖÐѧϰ¸ü¶àÓйؽڵãÊôÐÔµÄ֪ʶ¡£

TIY

±éÀú½Úµã

ÏÂÃæµÄ´úÂëÑ­»·¸ù½ÚµãµÄ×ӽڵ㣬ͬʱҲÊÇÔªËØ½Úµã£º

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.documentElement.childNodes;

for (i=0;i<x.length;i++)
{ 
  if (x[i].nodeType==1)
  {//Process only element nodes (type 1) 
  document.write(x[i].nodeName);
  document.write("<br />");
  } 
}

Àý×Ó½âÊÍ£º

  1. ͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc ÖÐ
  2. »ñµÃ¸ùÔªËØµÄ×Ó½Úµã
  3. ¼ì²éÿ¸ö×Ó½ÚµãµÄ½ÚµãÀàÐÍ¡£Èç¹û½ÚµãÀàÐÍÊÇ "1"£¬ÔòÊÇÔªËØ½Úµã
  4. Èç¹ûÊÇÔªËØ½Úµã£¬ÔòÊä³ö½ÚµãµÄÃû³Æ

TIY

ÀûÓýڵãµÄ¹ØÏµ½øÐе¼º½

ÏÂÃæµÄ´úÂëͨ¹ýÀûÓýڵãµÄ¹ØÏµÔÚ½ÚµãÊ÷ÖнøÐе¼º½£º

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0].childNodes;
y=xmlDoc.getElementsByTagName("book")[0].firstChild;

for (i=0;i<x.length;i++)
{
if (y.nodeType==1)
  {//Process only element nodes (type 1)
  document.write(y.nodeName + "<br />");
  }
y=y.nextSibling;
}
  1. ͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc ÖÐ
  2. »ñµÃµÚÒ»¸ö book ÔªËØµÄ×Ó½Úµã
  3. °Ñ "y" ±äÁ¿ÉèÖÃΪµÚÒ»¸ö book ÔªËØµÄµÚÒ»¸ö×Ó½Úµã
  4. ¼ì²éÿ¸ö×Ó½ÚµãµÄ½ÚµãÀàÐÍ£¬Èç¹û½ÚµãÀàÐÍÊÇ "1"£¬ÔòÊÇÔªËØ½Úµã
  5. Èç¹ûÊÇÔªËØ½Úµã£¬ÔòÊä³ö¸Ã½ÚµãµÄÃû³Æ
  6. °Ñ "y" ±äÁ¿ÉèÖÃΪÏÂÒ»¸öͬ¼¶½Úµã£¬²¢ÔÙ´ÎÔËÐÐÑ­»·

TIY

VUE