XML DOM ¸ß¼¶

XML DOM (Document Object Model) ¶¨ÒåÁË·ÃÎʺͲÙ×÷ XML ÎĵµµÄ±ê×¼·½·¨¡£

XML DOM

DOM °Ñ XML ÎĵµÊÓΪһÖÖÊ÷½á¹¹¡£Í¨¹ýÕâ¸ö DOM Ê÷£¬¿ÉÒÔ·ÃÎÊËùÓеÄÔªËØ¡£¿ÉÒÔÐÞ¸ÄËüÃǵÄÄÚÈÝ£¨Îı¾ÒÔ¼°ÊôÐÔ£©£¬¶øÇÒ¿ÉÒÔ´´½¨ÐµÄÔªËØ¡£ÔªËØ£¬ÒÔ¼°ËüÃǵÄÎı¾ºÍÊôÐÔ£¬¾ù±»ÊÓΪ½Úµã¡£

ÔÚ±¾½Ì³ÌµÄ½ÏÔçÕ½ÚÖУ¬ÎÒÃǽéÉÜÁË XML DOM£¬²¢Ê¹ÓÃÁË XML DOM µÄ getElementsByTagName() ´Ó DOM Ê÷ÖÐÈ¡»ØÊý¾Ý¡£

ÔÚ±¾½ÚÖУ¬ÎÒÃǽ«½²½âһЩÆäËû½Ï³£ÓÃµÄ XML DOM ·½·¨¡£ÔÚ±¾ÀýÖУ¬ÎÒÃÇʹÓà XML Îļþ books.xml£¬²¢Ê¹ÓÃÒ»¸ö JavaScript º¯Êý°Ñ XML Îļþ¼ÓÔØµ½ÃûΪ xmlDoc µÄ DOM ¶ÔÏóÖС£

ÈçÐèѧϰ¸ü¶àÓÐ¹Ø XML DOM µÄ֪ʶ£¬Çë·ÃÎÊÎÒÃÇµÄ XML DOM ½Ì³Ì¡£

»ñÈ¡ÔªËØµÄÖµ

ÏÂÃæµÄ´úÂë¼ìË÷µÚÒ»¸ö <title> ÔªËØµÄÎı¾Öµ£º

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
txt=x.nodeValue;

½á¹û£ºtxt = "Harry Potter"

Ç××ÔÊÔÒ»ÊÔ

»ñÈ¡ÊôÐÔµÄÖµ

ÏÂÃæµÄ´úÂë¼ìË÷µÚÒ»¸ö <title> ÔªËØµÄ "lang" ÊôÐÔµÄÎı¾Öµ£º

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

½á¹û£ºtxt = "en"

Ç××ÔÊÔÒ»ÊÔ

¸Ä±äÔªËØµÄÖµ

ÏÂÃæµÄ´úÂë¸Ä±äµÚÒ»¸ö <title> ÔªËØµÄÎı¾Öµ£º

x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Cooking";

Ç××ÔÊÔÒ»ÊÔ

¸Ä±äÊôÐÔµÄÖµ

setAttribute() ·½·¨¿ÉÓÃÓڸıäÒÑÓÐÊôÐÔµÄÖµ£¬»ò´´½¨Ò»¸öÐÂÊôÐÔ¡£

ÏÂÃæµÄ´úÂëÏòÿ¸ö <book> ÔªËØÌí¼ÓÁËÃûΪ "edition" µÄÐÂÊôÐÔ£¨ÖµÊÇ "first"£©£º

x=xmlDoc.getElementsByTagName("book");

for(i=0;i<x.length;i++)
  {
  x[i].setAttribute("edition","first");
  }

Ç××ÔÊÔÒ»ÊÔ

´´½¨ÔªËØ

createElement() ·½·¨´´½¨ÐµÄÔªËØ½Úµã¡£

createTextNode() ·½·¨´´½¨ÐµÄÎı¾½Úµã¡£

appendChild() ·½·¨Ïò½ÚµãÌí¼Ó×ӽڵ㣨ÔÚ×îºóÒ»¸ö×Ó½ÚµãÖ®ºó£©¡£

ÈçÐè´´½¨´øÓÐÎı¾ÄÚÈݵÄÐÂÔªËØ£¬ÐèҪͬʱ´´½¨ÔªËؽڵãºÍÎı¾½Úµã¡£

ÏÂÃæµÄ´úÂë´´½¨ÁËÒ»¸öÔªËØ (<edition>)£¬È»ºó°ÑËüÌí¼Óµ½µÚÒ»¸ö <book> ÔªËØÖУº

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);

Àý×Ó½âÊÍ£º

  1. ´´½¨ <edition> ÔªËØ
  2. ´´½¨ÖµÎª "First" µÄÎı¾½Úµã
  3. °ÑÕâ¸öÎı¾½Úµã×·¼Óµ½ <edition> ÔªËØ
  4. °Ñ <edition> ÔªËØ×·¼Óµ½µÚÒ»¸ö <book> ÔªËØ

Ç××ÔÊÔÒ»ÊÔ

ɾ³ýÔªËØ

removeChild() ·½·¨É¾³ýÖ¸¶¨µÄ½Úµã£¨»òÔªËØ£©¡£

ÏÂÃæµÄ´úÂëÆ¬¶Î½«É¾³ýµÚÒ»¸ö <book> ÔªËØÖеĵÚÒ»¸ö½Úµã£º

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

x.removeChild(x.childNodes[0]);

Ç××ÔÊÔÒ»ÊÔ

×¢ÊÍ£ºÉÏÀýµÄ½á¹û¿ÉÄÜ»á¸ù¾ÝËùÓõÄä¯ÀÀÆ÷¶ø²»Í¬¡£Firefox °ÑÐÂÐÐ×Ö·ûµ±×÷¿ÕµÄÎı¾½Úµã£¬¶ø Internet Explorer ²»ÊÇÕâÑù¡£Äú¿ÉÒÔÔÚ w3school µÄ XML DOM ½Ì³ÌÖÐÔĶÁµ½¸ü¶àÓйØÕâ¸öÎÊÌâÒÔ¼°ÈçºÎ±ÜÃâËüµÄ֪ʶ¡£

ÕâÀïÌṩµÄ XML DOM ʵÀý£¬Ö»ÏòÄúչʾÁËÉÙÊý¼¸ÏîÎÒÃÇ¿ÉÒÔÀûÓà XML DOM Íê³ÉµÄ¹¤×÷¡£

ÈçÐèѧϰ¸ü¶àÓÐ¹Ø XML DOM µÄ֪ʶ£¬Çë·ÃÎÊ w3school µÄ XML DOM ½Ì³Ì¡£

VUE