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" ÖеÄÔªËØ½Úµã¡£
·ÃÎʽڵã
Äú¿ÉÒÔͨ¹ýÈýÖÖ·½·¨À´·ÃÎʽڵ㣺
- ͨ¹ýʹÓà getElementsByTagName() ·½·¨
- ͨ¹ýÑ»·£¨±éÀú£©½ÚµãÊ÷
- ͨ¹ýÀûÓýڵãµÄ¹ØÏµÔÚ½ÚµãÊ÷Öе¼º½
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];
×¢ÊÍ£ºÏ±êÒÔ 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 />"); }
Àý×Ó½âÊÍ£º
- ʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc
- È¡µÃËùÓÐ <title> ÔªËØ½Úµã
- Êä³öÿ¸ö <title> ÔªËØµÄÎı¾½ÚµãµÄÖµ
Node Type
XML ÎĵµµÄ documentElement ÊôÐÔÊǸù½Úµã¡£
½ÚµãµÄ nodeName ÊôÐÔÊǽڵãµÄÃû³Æ¡£
½ÚµãµÄ nodeType ÊôÐÔÊǽڵãµÄÀàÐÍ¡£
Äú½«ÔÚ±¾½Ì³ÌµÄÏÂÒ»½ÚÖÐѧϰ¸ü¶àÓйؽڵãÊôÐÔµÄ֪ʶ¡£
±éÀú½Úµã
ÏÂÃæµÄ´úÂëÑ»·¸ù½ÚµãµÄ×ӽڵ㣬ͬʱҲÊÇÔªËØ½Úµã£º
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 />"); } }
Àý×Ó½âÊÍ£º
- ͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc ÖÐ
- »ñµÃ¸ùÔªËØµÄ×Ó½Úµã
- ¼ì²éÿ¸ö×Ó½ÚµãµÄ½ÚµãÀàÐÍ¡£Èç¹û½ÚµãÀàÐÍÊÇ "1"£¬ÔòÊÇÔªËØ½Úµã
- Èç¹ûÊÇÔªËØ½Úµã£¬ÔòÊä³ö½ÚµãµÄÃû³Æ
ÀûÓýڵãµÄ¹ØÏµ½øÐе¼º½
ÏÂÃæµÄ´úÂëͨ¹ýÀûÓýڵãµÄ¹ØÏµÔÚ½ÚµãÊ÷ÖнøÐе¼º½£º
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; }
- ͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc ÖÐ
- »ñµÃµÚÒ»¸ö book ÔªËØµÄ×Ó½Úµã
- °Ñ "y" ±äÁ¿ÉèÖÃΪµÚÒ»¸ö book ÔªËØµÄµÚÒ»¸ö×Ó½Úµã
- ¼ì²éÿ¸ö×Ó½ÚµãµÄ½ÚµãÀàÐÍ£¬Èç¹û½ÚµãÀàÐÍÊÇ "1"£¬ÔòÊÇÔªËØ½Úµã
- Èç¹ûÊÇÔªËØ½Úµã£¬ÔòÊä³ö¸Ã½ÚµãµÄÃû³Æ
- °Ñ "y" ±äÁ¿ÉèÖÃΪÏÂÒ»¸öͬ¼¶½Úµã£¬²¢ÔÙ´ÎÔËÐÐÑ»·