XML DOM - ÊôÐԺͷ½·¨

ÊôÐԺͷ½·¨Ïò XML DOM ¶¨ÒåÁ˱à³Ì½Ó¿Ú¡£

ʵÀý

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

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

º¯Êý loadXMLString()£¬Î»ÓÚÍⲿ JavaScript ÖУ¬ÓÃÓÚ¼ÓÔØ XML ×Ö·û´®¡£

¼ÓÔØ²¢½âÎö XML Îļþ
¼ÓÔØ²¢½âÎö XML ×Ö·û´®

±à³Ì½Ó¿Ú

DOM °Ñ XML Ä£ÄâΪһϵÁнڵã½Ó¿Ú¡£¿Éͨ¹ý JavaScript »òÆäËû±à³ÌÓïÑÔÀ´·ÃÎʽڵ㡣ÔÚ±¾½Ì³ÌÖУ¬ÎÒÃÇʹÓà JavaScript¡£

¶Ô DOM µÄ±à³Ì½Ó¿ÚÊÇͨ¹ýÒ»Ì×±ê×¼µÄÊôÐԺͷ½·¨À´¶¨ÒåµÄ¡£

ÊôÐÔ¾­³£°´ÕÕ¡°Ä³ÊÂÎïÊÇʲô¡±µÄ·½Ê½À´Ê¹Óã¨ÀýÈç½ÚµãÃûÊÇ "book"£©¡£

·½·¨¾­³£°´ÕÕ¡°¶ÔijÊÂÎï×öʲô¡±µÄ·½Ê½À´Ê¹Óã¨ÀýÈçɾ³ý "book" ½Úµã£©¡£

XML DOM ÊôÐÔ

һЩµäÐ굀 DOM ÊôÐÔ£º

  • x.nodeName - x µÄÃû³Æ
  • x.nodeValue - x µÄÖµ
  • x.parentNode - x µÄ¸¸½Úµã
  • x.childNodes - x µÄ×Ó½Úµã
  • x.attributes - x µÄÊôÐÔ½Úµã

×¢ÊÍ£ºÔÚÉÏÃæµÄÁбíÖУ¬x ÊÇÒ»¸ö½Úµã¶ÔÏó¡£

XML DOM ·½·¨

  • x.getElementsByTagName(name) - »ñÈ¡´øÓÐÖ¸¶¨±êÇ©Ãû³ÆµÄËùÓÐÔªËØ
  • x.appendChild(node) - Ïò x ²åÈë×Ó½Úµã
  • x.removeChild(node) - ´Ó x ɾ³ý×Ó½Úµã

×¢ÊÍ£ºÔÚÉÏÃæµÄÁбíÖУ¬x ÊÇÒ»¸ö½Úµã¶ÔÏó¡£

ʵÀý

´Ó books.xml ÖÐµÄ <title> ÔªËØ»ñÈ¡Îı¾µÄ JavaScript ´úÂ룺

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

ÔÚ´ËÓï¾äÖ´Ðкó£¬txt ±£´æµÄÖµÊÇ "Harry Potter"¡£

½âÊÍ£º

  • xmlDoc - ÓɽâÎöÆ÷´´½¨µÄ XML DOM
  • getElementsByTagName("title")[0] - µÚÒ»¸ö <title> ÔªËØ
  • childNodes[0] - <title> ÔªËØµÄµÚÒ»¸ö×Ó½Úµã (Îı¾½Úµã)
  • nodeValue - ½ÚµãµÄÖµ (Îı¾×ÔÉí)

ÔÚÉÏÃæµÄÀý×ÓÖУ¬getElementsByTagName ÊÇ·½·¨£¬¶ø childNodes ºÍ nodeValue ÊÇÊôÐÔ¡£

½âÎö XML Îļþ - ¿çä¯ÀÀÆ÷ʵÀý

ÏÂÃæµÄ´úÂëÆ¬¶ÎʹÓà loadXMLDoc º¯Êý°Ñ books.xml ÔØÈë XML ½âÎöÆ÷ÖУ¬²¢ÏÔʾµÚÒ»¸ö book µÄÊý¾Ý£º

xmlDoc=loadXMLDoc("books.xml");

document.write(xmlDoc.getElementsByTagName("title")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year")
[0].childNodes[0].nodeValue);

Êä³ö£º

Harry Potter
J K. Rowling
2005

TIY

ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÎÒÃÇΪÿ¸öÎı¾½ÚµãʹÓà childNodes[0]£¬¼´Ê¹Ã¿¸öÔªËØÖ»ÓÐÒ»¸öÎı¾½Úµã¡£ÕâÊÇÓÉÓÚ getElementsByTagName() ·½·¨×ÜÊǻ᷵»ØÊý×é¡£

½âÎö XML ×Ö·û´® - ¿çä¯ÀÀÆ÷ʵÀý

ÏÂÃæµÄ´úÂë¼ÓÔØ²¢½âÎöÒ»¸ö XML ×Ö·û´®£º

ÏÂÃæµÄ´úÂëÆ¬¶ÎʹÓà loadXMLString º¯Êý°Ñ books.xml ÔØÈë XML ½âÎöÆ÷£¬²¢ÏÔʾµÚÒ»¸ö book µÄÊý¾Ý£º

text="<bookstore>"
text=text+"<book>";
text=text+"<title>Harry Potter</title>";
text=text+"<author>J K. Rowling</author>";
text=text+"<year>2005</year>";
text=text+"</book>";
text=text+"</bookstore>";

xmlDoc=loadXMLString(text);

document.write(xmlDoc.getElementsByTagName("title")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("author")
[0].childNodes[0].nodeValue);
document.write("<br />");
document.write(xmlDoc.getElementsByTagName("year")
[0].childNodes[0].nodeValue);

Êä³ö£º

Harry Potter
J K. Rowling
2005

TIY

VUE