XML DOM - ÊôÐԺͷ½·¨
ÊôÐԺͷ½·¨Ïò XML DOM ¶¨ÒåÁ˱à³Ì½Ó¿Ú¡£
ʵÀý
ÏÂÃæµÄÀý×ÓʹÓà XML Îļþ books.xml¡£
º¯Êý loadXMLDoc()£¬Î»ÓÚÍⲿ JavaScript ÖУ¬ÓÃÓÚ¼ÓÔØ XML Îļþ¡£
º¯Êý loadXMLString()£¬Î»ÓÚÍⲿ JavaScript ÖУ¬ÓÃÓÚ¼ÓÔØ 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
ÔÚÉÏÃæµÄÀý×ÓÖУ¬ÎÒÃÇΪÿ¸öÎı¾½ÚµãʹÓà 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