XML DOM ¶¨Î»½Úµã

¿Éͨ¹ýʹÓýڵã¼äµÄ¹ØÏµ¶Ô½Úµã½øÐж¨Î»¡£

ʵÀý

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

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

»ñÈ¡½ÚµãµÄ¸¸½Úµã
±¾ÀýʹÓà parentNode ÊôÐÔÀ´»ñÈ¡½ÚµãµÄ¸¸½Úµã¡£
»ñÈ¡½ÚµãµÄÊ׸ö×Ó½Úµã
±¾ÀýʹÓà firstChild() ·½·¨ºÍÒ»¸ö×Ô¶¨Ò庯ÊýÀ´»ñȡһ¸ö½ÚµãµÄÊ׸ö×ӽڵ㡣

¶¨Î» DOM ½Úµã

ͨ¹ý½Úµã¼äµÄ¹ØÏµ·ÃÎʽڵãÊ÷ÖеĽڵ㣬ͨ³£³ÆÎª¶¨Î»½Úµã £¨"navigating nodes"£©¡£

ÔÚ XML DOM ÖУ¬½ÚµãµÄ¹ØÏµ±»¶¨ÒåΪ½ÚµãµÄÊôÐÔ£º

  • parentNode
  • childNodes
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

ÏÂÃæµÄͼÏñչʾÁË books.xml ÖнڵãÊ÷µÄÒ»¸ö²¿·Ö£¬²¢ËµÃ÷Á˽ڵãÖ®¼äµÄ¹ØÏµ£º

DOM node tree

DOM - ¸¸½Úµã

ËùÓеĽڵ㶼½öÓÐÒ»¸ö¸¸½Úµã¡£ÏÂÃæµÄ´úÂ붨λµ½ <book> µÄ¸¸½Úµã£º

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0];
document.write(x.parentNode.nodeName);

Àý×Ó½âÊÍ£º

  • ͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈëµ½ xmlDoc ÖÐ
  • »ñÈ¡µÚÒ»¸ö <book> ÔªËØ
  • Êä³ö "x" µÄ¸¸½ÚµãµÄ½ÚµãÃû

TIY

±ÜÃâ¿ÕµÄÎı¾½Úµã

Firefox£¬ÒÔ¼°ÆäËûһЩä¯ÀÀÆ÷£¬°Ñ¿ÕµÄ¿Õ°×»ò»»Ðе±×÷Îı¾½Úµã£¬¶ø IE ²»»áÕâô×ö¡£

Õâ»áÔÚʹÓÃÏÂÁÐÊôÐÔʹ²úÉúÒ»¸öÎÊÌ⣺firstChild¡¢lastChild¡¢nextSibling¡¢previousSibling¡£

ΪÁ˱ÜÃⶨλµ½¿ÕµÄÎı¾½Úµã£¨ÔªËؽڵãÖ®¼äµÄ¿Õ¸ñºÍ»»ÐзûºÅ£©£¬ÎÒÃÇʹÓÃÒ»¸öº¯ÊýÀ´¼ì²é½ÚµãµÄÀàÐÍ£º

function get_nextSibling(n)
{
y=n.nextSibling;
while (y.nodeType!=1)
  {
  y=y.nextSibling;
  }
return y;
}

ÓÐÁËÉÏÃæµÄº¯Êý£¬ÎÒÃǾͿÉÒÔʹÓà get_nextSibling(node) À´´úÌæ node.nextSibling ÊôÐÔ¡£

´úÂë½âÊÍ£º

ÔªËØ½ÚµãµÄÀàÐÍÊÇ 1¡£Èç¹ûͬ¼¶½Úµã²»ÊÇÔªËØ½Úµã£¬¾ÍÒÆ¶¯µ½ÏÂÒ»¸ö½Úµã£¬Ö±µ½ÕÒµ½ÔªËؽڵãΪֹ¡£Í¨¹ýÕâ¸ö°ì·¨£¬ÔÚ IE ºÍ Firefox ÖУ¬¶¼¿ÉÒԵõ½ÏàͬµÄ½á¹û¡£

»ñÈ¡µÚÒ»¸öÔªËØ

ÏÂÃæµÄ´úÂëÏÔʾµÚÒ»¸ö <book> µÄµÚÒ»¸öÔªËØ½Úµã£º

<html>
<head>
<script type="text/javascript" src="loadxmldoc.js">
</script>
<script type="text/javascript">
//check if the first node is an element node
function get_firstChild(n)
{
y=n.firstChild;
while (y.nodeType!=1)
  {
  y=y.nextSibling;
  }
return y;
}
</script>
</head>

<body>
<script type="text/javascript">
xmlDoc=loadXMLDoc("books.xml");

x=get_firstChild(xmlDoc.getElementsByTagName("book")[0]);
document.write(x.nodeName);
</script>
</body>
</html>

Êä³ö£º

title

Àý×Ó½âÊÍ£º

  • ͨ¹ýʹÓà loadXMLDoc() °Ñ "books.xml" ÔØÈë xmlDoc ÖÐ
  • ÔÚµÚÒ»¸ö <book> ÉÏʹÓà get_firstChild º¯Êý£¬À´»ñÈ¡ÔªËØ½ÚµãÖеĵÚÒ»¸ö×Ó½Úµã
  • Êä³öµÚÒ»¸ö×ӽڵ㣨ÊôÓÚÔªËØ½Úµã£©µÄ½ÚµãÃû

TIY

ʵÀý

ÏÂÃæµÄÀý×ÓʹÓÃÏàËÆµÄº¯Êý£º

  • firstChild: TIY
  • lastChild: TIY
  • nextSibling: TIY
  • previousSibling: TIY
VUE