Ò»°ãÎÊÌâ
ʲôÊÇ XML£¿
¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ (XML) ÊÇ Web ÉϵÄÊý¾ÝͨÓÃÓïÑÔ¡£Ëüʹ¿ª·¢ÈËÔ±Äܹ»½«½á¹¹»¯Êý¾Ý£¬´ÓÐí¶à²»Í¬µÄÓ¦ÓóÌÐò´«µÝµ½×ÀÃæ£¬½øÐб¾µØ¼ÆËãºÍÑÝʾ¡£XML ÔÊÐíÎªÌØ¶¨Ó¦ÓóÌÐò´´½¨Î¨Ò»µÄÊý¾Ý¸ñʽ¡£Ëü»¹ÊÇÔÚ·þÎñÆ÷Ö®¼ä´«Êä½á¹¹»¯Êý¾ÝµÄÀíÏë¸ñʽ¡£
ʲôÊÇ MSXML£¿
MSXML ÊÇÌṩºËÐÄ XML ·þÎñµÄ Microsoft Èí¼þ×é¼þ¡£
Microsoft XML ·ÖÎöÆ÷Äܹ»×öʲô£¿
×îа汾µÄ Microsoft ºËÐÄ XML ·þÎñÌṩÏÂÃæËÄÖÖ²»Í¬µÄ¹¦ÄÜ¡£
»ùÓÚÎĵµ¶ÔÏóÄ£ÐÍ (DOM) µÄ·ÖÎöÆ÷£¬ËüÄܹ»»ñÈ¡Îı¾Á÷£¨Äܹ»×ª»»µ½ XML µÄÎļþ¡¢³ÌÐòÖеÄ×Ö·û´®»òÕßÈÎºÎÆäËûÎı¾£©²¢½«Ëüת»»ÎªÄܹ»±à³Ì´¦ÀíµÄ¿Éµ¼º½ XML Ê÷½á¹¹¡£
SAX£¨Simple API for XML£©·ÖÎöÆ÷£¬ËüÕë¶Ô´¦Àí´óÐÍÎĵµºÍ¸ßÍÌÍÂÁ¿µÄÇé¿ö½øÐÐÁËÓÅ»¯µÄ¡£SAX ÊÇ»ùÓÚʼþµÄ·ÖÎöÆ÷£¬Ëü¶ÁÈ¡Îĵµ²¢½«·ÖÎöʼþ£¨ÀýÈçÔªËØµÄ¿ªÊ¼ºÍ½áβ£©Ö±½Ó±¨¸æ¸øÓ¦ÓóÌÐò¡£Óû§´´½¨µÄÓ¦ÓóÌÐòʵÏÖÁË´¦Àí²»Í¬Ê¼þµÄ´¦Àí³ÌÐò£¬Õâ·Ç³£ÀàËÆÓÚ´¦ÀíͼÐÎÓû§½çÃæ (GUI) ÖеÄʼþ¡£
XSLT ´¦ÀíÆ÷¶ÁÈ¡ XSLT Îļþ£¬²¢½«¿ÉÀ©Õ¹Ñùʽ±íת»»ÓïÑÔ (XSLT) ÎļþµÄÖ¸ÁîÓ¦Óõ½ XML Îļþ£¬ÒÔ²úÉúijЩÀàÐ͵ÄÊä³ö¡£³ýÁË´´½¨ XML½á¹¹Ö®Í⣬XSLT ´¦ÀíÆ÷»¹¿ÉÒÔÔڵõ½µÄ XSLT ¹ýÂËÆ÷ÉÏÖ´ÐÐÒ»¶¨Á¿µÄÓÅ»¯£¬ÁíÍ⣬´Ó¼¼ÊõµÄ½Ç¶È¿´£¬Ëü¸üÏñÊÇÒ»ÖÖ±àÒëÆ÷¡£
ÑéÖ¤·ÖÎöÆ÷¶ÁÈ¡ÎĵµÀàÐͶ¨Òå (DTD) »òÕß XML ¼Ü¹¹£¬È»ºó¼ìÑéʵ¼ÊµÃµ½µÄÎĵµµÄ¸ñʽÊÇ·ñÕýÈ·£¬ÒÔ¼°ÊÇ·ñ²»°üº¬Óë¼Ü¹¹³åÍ»µÄÊý¾Ý¡£Çë×¢Ò⣬½ö¶Ô¼Ü¹¹¶øÑÔ£¬ÑéÖ¤¼Ü¹¹½«·µ»Ø¼Ü¹¹±¾Éí×÷Ϊ¶ÔÏ󣬿ÉÒÔÔÚÒÔºóÔÚ HTML Áбí¿òÖд´½¨Ñ¡ÏîʱÒýÓÃÕâ¸ö¶ÔÏó¡£
ËùÓÐËÄÖÖ¹¦Äܶ¼°üº¬ÔÚͬһ MSXML ¿âÈí¼þ°üÖУ¬Ëü¿ÉÒÔ´Ó MSDN XML ¿ª·¢ÈËÔ±ÖÐÐÄ£¨Ó¢ÎÄ£©Ãâ·ÑµÃµ½¡£
MSXML¡¢MSXML2 ºÍ MSXML3 Ö®¼äµÄÇø±ðÊÇʲô£¿
ÔÚ¹ýÈ¥ÈýÄêÖÐ XML ¾ÀúÁËÐí¶à·´¸´£¬ËùÒÔĿǰ´æÔÚ²»Í¬°æ±¾µÄ Microsoft XML ·ÖÎöÆ÷Ò²²»Ææ¹Ö¡£Internet Explorer 4.0 °üº¬ÔçÆÚ°æ±¾µÄ XML ·ÖÎöÆ÷£¬Ëü±È XSL¡¢XML Êý¾Ý»òÕß´ó¶àÊýÆäËûµÄ XML ¼¼Êõ£¨²¢ÇÒÓÐÍêÈ«²»Í¬µÄ DOM Ä£ÐÍ£©ÒªÔç¡£¸ÃÔçÆÚ°æ±¾µÄ·ÖÎöÆ÷°üº¬ÔÚ MSXML.dll ¿âÖС£´Ó MSDN XML ¿ª·¢ÈËÔ±ÖÐÐÄ£¨Ó¢ÎÄ£©¿É½«·ÖÎöÆ÷Éý¼¶µ½½ÏеÄÒ»ÖÖ¡£
ÎÒÃǼ«Á¦½¨ÒéÄúÉý¼¶µ½ÐµķÖÎöÆ÷£¬ÒòΪËüҪǿ´óµÃ¶à¡£Internet Explorer 5.0 °üÀ¨ MSXML 2.0 ·ÖÎöÆ÷£¬Ëü°üº¬ XSL ºÍ XML ¼Ü¹¹µÄ»ù±¾°æ±¾¡£MSXML2 ÊÇ SQL Server 2000 ¸½´øµÄ·ÖÎöÆ÷°æ±¾¡£MSXML2 °üº¬ÁËÐí¶àÐÔÄÜÔöÇ¿µÄ¹¦ÄÜ£¬²¢ÇÒÔÚ×ÜÌåÉÏÌá¸ßÁËÐÔÄܺͿÉÉìËõÐÔ¡£MSXML3 Êǵ±Ç°×÷Ϊ¡°¼¼ÊõÔ¤ÀÀ¡±¸½´øµÄ°æ±¾¡£MSXML3 °üÀ¨ XSLT ºÍ XPath Ö§³ÖÒÔ¼° SAX ½Ó¿Ú¡£
XML ¿ÉÒÔ´úÌæ HTML Âð£¿
XML ±È HTML Ìṩ¸ü´óµÄÁé»îÐÔ£¬µ«ÊÇËü²»¿ÉÄܺܿì´úÌæ HTML¡£Êµ¼ÊÉÏ£¬XML ºÍ HTML Äܹ»ºÜºÃµØÔÚÒ»Æð¹¤×÷¡£Microsoft Ï£ÍûÐí¶à×÷ÕߺͿª·¢ÈËÔ±¶¼ÄÜͬʱʹÓà XML ºÍ HTML£¬±ÈÈçÓà XSLT À´Éú³É HTML¡£
ÔÚ HTML ÖÐÔö¼Ó XML µÄºÃ´¦ÊÇʲô£¿
ÔÚ Web ÉÏʹÓà XML µÄºÃ´¦ÓУº
ËüÌṩÓÃÓÚ±¾µØ¼ÆËãµÄÊý¾Ý¡£´«µÝµ½×ÀÃæµÄÊý¾Ý¿ÉÒÔ½øÐб¾µØ¼ÆËã¡£XML ·ÖÎöÆ÷¿ÉÒÔ¶ÁÈ¡Êý¾Ý£¬²¢½«ËüµÝ½»¸ø±¾µØÓ¦ÓóÌÐò£¨ÀýÈçä¯ÀÀÆ÷£©½øÒ»²½²é¿´»ò´¦Àí¡£Êý¾ÝÒ²¿ÉÒÔÓÉʹÓà XML ¶ÔÏóÄ£Ð͵Ľű¾»òÆäËû±à³ÌÓïÑÔÀ´´¦Àí¡£
ÏòÓû§ÌṩÕýÈ·µÄ½á¹¹»¯Êý¾ÝÊÓͼ¡£´«µÝµ½×ÀÃæµÄÊý¾Ý¿ÉÒÔÒÔ¶àÖÖ·½Ê½±íʾ¡£±¾µØÊý¾Ý¼¯£¬¿ÉÒÔ¸ù¾ÝÓû§Ï²ºÃºÍÅäÖõÈÒòËØ£¬ÒÔÊʵ±µÄÐÎʽ£¬ÔÚÊÓͼÖж¯Ì¬±íÏÖ¸øÓû§¡£
ÔÊÐí¼¯³É²»Í¬À´Ô´µÄ½á¹¹»¯Êý¾Ý¡£Ò»°ãÇé¿öÏ£¬Ê¹ÓôúÀí£¬ÔÚÖмä²ã·þÎñÆ÷Éϼ¯³ÉÀ´×Ôºó¶ËÊý¾Ý¿âºÍÆäËûÓ¦ÓóÌÐòµÄÊý¾Ý£¬Ê¹¸ÃÊý¾ÝÄܹ»´«µÝ¸ø×ÀÃæ»òÕ߯äËû·þÎñÆ÷£¬×ö½øÒ»²½¾ÛºÏ¡¢´¦ÀíºÍ·Ö²¼¡£
ÃèÊöÀ´×Ô¶àÖÖÓ¦ÓóÌÐòµÄÊý¾Ý¡£ÓÉÓÚ XML ÊÇ¿ÉÀ©Õ¹µÄ£¬Òò´ËËü¿ÉÒÔÓÃÓÚÃèÊöÀ´×Ô¶àÖÖÓ¦ÓóÌÐòµÄÊý¾Ý£¬´ÓÃèÊö Web Ò³Ãæ¼¯ºÏµ½Êý¾Ý¼Ç¼¡£ÓÉÓÚÊý¾ÝÊÇ×ÔÃèÊöµÄ£¬Òò´Ë²»ÐèÒªÊý¾ÝµÄÄÚÖÃÃèÊö£¬Ò²Äܹ»½ÓÊպʹ¦ÀíÊý¾Ý¡£
ͨ¹ýÁ£¶È¸üÐÂÀ´Ìá¸ßÐÔÄÜ¡£XML ÔÊÐíÁ£¶È¸üС£¿ª·¢ÈËÔ±²»±ØÔÚÿ´ÎÓиĶ¯Ê±¶¼·¢ËÍÕû¸ö½á¹¹»¯Êý¾Ý¼¯¡£ÓÐÁËÁ£¶È¸üкó£¬Ö»ÓиıäµÄÔªËØ²Å±ØÐë´Ó·þÎñÆ÷·¢Ë͵½¿Í»§»ú¡£¸Ä±äµÄÊý¾Ý¿ÉÒÔÔÚ²»±ØË¢ÐÂÕû¸öÒ³Ãæ»ò±íµÄÇé¿öÏÂÏÔʾ¡£
XML Ö»ÊÊÓÃÓÚºËÐÄ¿ª·¢ÈËÔ±Âð£¿
²»¡£ºÍ HTML ÎĵµÒ»Ñù£¬XML Îĵµ¿ÉÒÔÓÉÈκÎÈË´´½¨ ¡ª ÉõÖÁÊÇûÓÐÈκαà³Ì¾ÑéµÄÈË¡£XML ½ö½öÊÇÒ»ÖÖÃèÊöÐÅÏ¢µÄ±ê×¼·½Ê½¡£´ËÍ⣬Ëü»¹ÊÇÒ»ÖÖÓïÑÔ£¬¿ÉÒÔÔÚûÓÐÈκÎÈí¼þµÄÇé¿öÏÂÓÃËüÀ´±àд¡£Äú¿ÉÒÔÔÚÎı¾±à¼Æ÷Öбàд XML Îĵµ£¬²¢ÇÒÖ±½Ó·ÅÈë Web Õ¾µã£¬²»ÐèÒª±àд´«Í³·½Ê½ÏµÄÈκδúÂë¡£
¿ªÊ¼Ê¹Óà XML ʱÐèҪʲô£¿
ҪʹÓà XML£¬ÄúÐèÒªÄܹ»¶ÁÈ¡ XMl ÎĵµµÄ XML ·ÖÎöÆ÷£¬²¢ÇÒʹËüµÄÄÚÈÝÄܱ»´¦Àí¡£Microsoft ÌṩÁËÒ»ÖÖ·ÖÎöÆ÷£¬¿ÉÒÔ´Ó MSDN XML ¿ª·¢ÈËÔ±ÖÐÐÄ£¨Ó¢ÎÄ£©ÏÂÔØ¡£
ҪʹÓà XML Îĵµ£¬¿ÉÒÔʹÓÃÎı¾±à¼Æ÷£¨ÀýÈç¼Çʱ¾£©»òÈÎºÎÆäËû¿ÉÒÔÓÃÓÚ´´½¨ HTML Ò³ÃæµÄ±à¼Æ÷¡£Òª´´½¨ÍêÕûÐÎʽµÄ XML Ó¦ÓóÌÐò£¬ÇëʹÓÃÖîÈç Microsoft® Visual Studio® µÄ±à³Ì»·¾³¡£
ÓÐÈçºÎʹÓà XML µÄʵ¼ÊÀý×ÓÂð£¿
XML ÕýÔÚÊýÁ¿¾ªÈ˵ÄÓ¦ÓóÌÐòÖÐʹÓ㬷¶Î§´Ó Web Õ¾µã´´½¨ºÍÎĵµ»¯µ½Êý¾Ý¿â¼¯³ÉºÍ·Ö²¼Ê½±à³Ì¡£ÔÚÏÂÃæ¼¸¸öÁìÓòÖУ¬XML ÓÐÆäÓÃÎäÖ®µØ£º
ÒµÎñ¶ÔÒµÎñµÄ´«Êä¡£ÒµÎñÊý¾Ý£¨·¢Æ±¡¢¹ºÂò¶¨µ¥¡¢»á¼ÆºÍ˰ÎñÐÅÏ¢µÈµÈ£©ÊÇÒÔ XML ¸ñʽÔÚ³§ÉÌÖ®¼äµç×Ó´«ÊäµÄ¡£Óë¾ÉµÄµç×ÓÊý¾Ý½»»» (EDI) ¸ñʽÏà±È£¬XML ÌṩÁËÐí¶àÓŵ㣬¶ø²»½ö½öÊÇ¿ÉÒÔÔÚ´«ÊäÖдÓÒ»ÖÖ·¢Æ±¸ñʽת»»µ½ÁíÒ»ÖÖ¡£
·Ö²¼Ê½±à³Ì¡£XML ÊǷdz£ÀíÏëµÄ¸´ÔÓ¶àÆ½Ì¨Ó¦ÓóÌÐò¹¹Ôì·½°¸£¬ÕâÑù¾ÍʹµÃ Windows ·þÎñÆ÷ºÍÆäËû²Ù×÷ϵͳµÄ¼¯³É³ÉΪ¿ÉÄÜ¡£
Web Õ¾µãÌåϵ½á¹¹¡£ÓÉÓÚ XML µÄ²ã´Î½á¹¹ºÍ·Ö²¼Ê½ÌØÐÔ£¬Web Õ¾µã¿ª·¢ÈËÔ±ÔÚËûÃÇ Web Õ¾µãµÄ×ÜÌåÌåϵ½á¹¹ºÍµ¼º½½á¹¹ÖÐÔ½À´Ô½¶àµØÊ¹ÓÃËü¡£´ËÍ⣬ԽÀ´Ô½¶àµÄĿ¼±íºÍË÷Òý±í¡¢¸ú×ÙÓû§ÐÅÏ¢¼° Web Õ¾µã״̬µÄ XML ½á¹¹¡¢»ùÓÚ HTML µÄ×é¼þºÍ´¦ÀíÊý¾ÝÁ÷µÄÇþµÀ£¬¶¼Óà XML ºÍ XSLT ±àд¡£
Êý¾Ý¿â²Ù×÷¡£XML Õý³ÉΪÓëÊý¾Ý¿â½»»¥µÄÁ÷Ðй¤¾ß ¡ª ÎÞÂÛ´Ó SQL ²éѯÖмìË÷ XML Êý¾Ý¼¯£¬»¹ÊÇÓà XML ¼Ç¼¸üÐÂÊý¾Ý¿â¡£¶øÇÒÎÒÃÇ»¹ÓзÖÀëʵÏÖµÄÓŵ㡣ͨ¹ý½«Êý¾ÝѹËõΪ SML£¬¾Í²»ÐèÒª¶Ôʵ¼ÊµÄÊý¾Ý¿â½á¹¹ÓÐÈκÎÁ˽⡣
Îĵµ¹ÜÀí¡£Ä¿Ç°µÄ´ó¶àÊý¹«Ë¾¶¼ÏÝÔÚÎÄÊ鹤×÷µÄº£ÑóÀ¶øÇÒ»áÔ½À´Ô½Ôã¡£XML ÕýÔÚÔ½À´Ô½¶àµØÓÃÓÚ½«Îĵµ±àÂë³É XML£¬Ê¹Îĵµ¸üÒ×ÓÚ¼ìË÷»òÌṩÁ´½Óµ½ÎĵµµÄ×¢ÊÍÉÏÏÂÎÄ£¬ÒÔ±ã¸üÓÐЧµØ½øÐвο¼¡£
ÎÒ¿ÉÒÔºöÂÔ XML Âð£¿
Èç¹ûÄúÏëÔÚ Internet ÊÀ½çÖоºÕùµÄ»°£¬ÄǾͲ»¿ÉÒÔºöÂÔ XML¡£XML Êǵ¼ÖÂÒÔÎÒÃÇ¿¼ÂDZà³Ì±¾ÉíµÄ·½Ê½½øÐÐÄ£Ê½×ªÒÆµÄÒ»ÖÖÓïÑÔ¡£´«Í³µÄרÓÿͻ§»ú/·þÎñÆ÷Ó¦ÓóÌÐò£¬ÕýÔÚ¸ø¡°ËæÊ±ËæµØ·ÃÎÊ¡±µÄ Internet ·þÎñÈÃ룬XML ÊÇ´¦ÀíÈκÎÊÂÇ飨´ÓÊý¾Ý·ÃÎÊ´¦Àíµ½ÔÚ¸Ãл·¾³ÖбíÏÖÊý¾Ý£©µÄÂ߼ýÌå¡£
Microsoft Internet Explorer 4.0 Ö§³Ö XML Âð£¿
Êǵġ£Internet Explorer 4.0 Ö§³Ö XML ÏÂÁй¦ÄÜ£º
ͨÓÃµÄ XML ·ÖÎöÆ÷£¬Ëü¶ÁÈ¡ XML Îļþ²¢½«ËüÃÇ´«µÝµ½Ó¦ÓóÌÐò£¨ÀýÈç²é¿´Æ÷£©½øÐд¦Àí¡£Ó¦ÓóÌÐò¿ª·¢ÈËÔ±¿ÉÒÔʹÓà Microsoft µÄÁ½¸ö·ÖÎöÆ÷£ºC++ ÖÐµÄ Microsoft XML ·ÖÎöºÍ Java ÖÐµÄ Microsoft XML ·ÖÎöÆ÷¡£
XML ¶ÔÏóÄ£ÐÍ (XML OM) ʹÓà World Wide Web Consortium (W3C) ±ê×¼Îĵµ¶ÔÏóÄ£ÐÍ (DOM) ÔÊÐí³ÌÐòͨ¹ý XML ·ÖÎöÆ÷·ÃÎʽṹ»¯Êý¾Ý£¬Ê¹¿ª·¢ÈËÔ±ÓµÓн»»¥ºÍ¼ÆËãÊý¾ÝµÄÄÜÁ¦¡£ÓйØÏêϸÐÅÏ¢£¬Çë²Î¼û DOM ¹æ·¶£¨Ó¢ÎÄ£© ¡£
XML Êý¾ÝÔ´¶ÔÏó (XML DSO) ÔÊÐí¿ª·¢ÈËÔ±Á¬½Óµ½½á¹¹»¯ XML Êý¾Ý£¬²¢Óö¯Ì¬ HTML µÄÊý¾Ý°ó¶¨»úÖÆ½«ËüÌṩ¸ø HTML Ò³Ãæ¡£
Internet Explorer 5.0 ¶Ô XML ÌṩÄĸö¼¶±ðµÄÖ§³Ö£¿
Internet Explorer 5 ÌṩÏÂÁÐ XML Ö§³Ö£º
Ö±½Ó²é¿´ XML¡£Microsoft XML ʵÏÖÔÊÐíÓû§Í¨¹ýËûÃÇµÄ Web ä¯ÀÀÆ÷ʹÓà XSL »òÕß²ãµþÑùʽ±í (CSS) ²é¿´ XML£¬¾ÍÏó²é¿´ HTML ÎĵµÒ»Ñù¡£
¸ßÐÔÄÜ¡¢ÑéÖ¤ XML ÒýÇæ¡£Internet Explorer 4.0 ¿ª·¢ÈËÔ±ÊìϤµÄ XML ÒýÇæÒѾµÃµ½Á˺ܴóµÄÔöÇ¿£¬²¢ÇÒÍêȫ֧³Ö W3C XML 1.0 ºÍ XML Ãû³Æ¿Õ¼ä£¬ÕâÑù¿ª·¢ÈËÔ±¾Í¿ÉÒÔÔÚ Web ÉÏͳһÏÞ¶¨ÔªËØÃû³Æ£¬´Ó¶ø±ÜÃâÁËÏàͬÃû³ÆµÄÔªËØÖ®¼äµÄ³åÍ»¡£Windows Öеı¾»ú XML Ö§³ÖÒâζ×Å£¬µ±¿ª·¢ÈËÔ±ÔÚÓ¦ÓóÌÐòºÍ×é¼þÖ®¼äÒÆ¶¯Êý¾Ýʱ£¬¿ÉÒÔʹÓÃÍêÕûµÄ XML ´¦Àí¹¦ÄÜÀ´¶ÁÈ¡ºÍ´¦ÀíÊý¾Ý¡£
¿ÉÀ©Õ¹Ñùʽת»»ÓïÑÔ (XSLT) Ö§³Ö¡£Ê¹ÓûùÓÚ×îÐ嵀 W3C Working Draft µÄ Microsoft XSLT ´¦ÀíÆ÷£¬¿ª·¢ÈËÔ±¿ÉÒÔ¶Ô XML Êý¾ÝÓ¦ÓÃÑùʽ±í£¬²¢ÒÔÒ×ÓÚ×Ô¶¨ÒåµÄ¶¯Ì¬ºÍÁé»î·½Ê½À´ÏÔʾÊý¾Ý¡£Microsoft XSLT ´¦ÀíÆ÷µÄ²éѯ¹¦ÄÜÒ²ÔÊÐí¿ª·¢ÈËÔ±ÓóÌÐò£¬ÔÚ¿Í»§»ú»ò·þÎñÆ÷ÉÏ£¬ÔÚ XML Êý¾Ý¼¯ÄÚ²¿²éÕÒºÍժȡÐÅÏ¢¡£
XML ¼Ü¹¹¡£¼Ü¹¹£¨Ó¢ÎÄ£© ¶¨Òå XML Îĵµ¹æÔò£¬°üÀ¨ÔªËØÃû³ÆºÍ·á¸»µÄÊý¾ÝÀàÐÍ£¬ËüÃǵÄÔªËØ¿ÉÒÔ±íÏÖΪ×éºÏ£¬²¢ÇÒÿ¸öÔªËØµÄÊôÐÔ¶¼¿ÉÓá£ÎªÁËÆôÓöà²ãÓ¦ÓóÌÐò£¬Microsoft ½«¸ù¾ÝÌá½»¸ø W3C XML ¹¤×÷×éµÄËõ¼õ XML Êý¾Ý¼Ü¹¹ (XDR) À´·¢²¼ XML ¼Ü¹¹µÄ¼¼ÊõÔ¤ÀÀ¡£
·þÎñÆ÷¶Ë XML¡£·þÎñÆ÷¶Ë XML ´¦ÀíÔÊÐíʹÓà XML ×÷ΪÔÚ¶à¸ö·Ö²¼Ê½Ó¦ÓóÌÐò·þÎñÆ÷£¨ÉõÖÁÊÇ¿çÔ½²Ù×÷ϵͳ±ß½ç£©Ö®¼ä´«ËÍÊý¾ÝµÄ±ê×¼·½Ê½¡£
XML Îĵµ¶ÔÏóÄ£ÐÍ (DOM)¡£XML DOM ÊDZê×¼¶ÔÏóÓ¦ÓóÌÐò±à³Ì½Ó¿Ú£¬Ëüʹ¿ª·¢ÈËÔ±Äܹ»ÓóÌÐò¿ØÖÆ XML ÎĵµÄÚÈÝ¡¢½á¹¹¡¢¸ñʽµÈµÈ¡£Microsoft XML ʵÏÖ°üÀ¨¶Ô W3C XML DOM ½¨ÒéµÄÍêȫ֧³Ö£¬²¢ÇÒ¿ÉÒÔÓýű¾¡¢Visual Basic ¿ª·¢ÏµÍ³¡¢C++ ºÍÆäËû±à³ÌÓïÑÔÀ´·ÃÎÊ¡£
C++ XML Êý¾ÝÔ´¶ÔÏó¡£XML DSO ÔÊÐí½« HTML ÔªËØÖ±½Ó°ó¶¨µ½ XML Êý¾Ýµº¡£´ËÍ⣬Ëü»¹Ìá¸ßÁËÐÔÄÜ£¬ÓÐÇ¿´óµÄÄÜÁ¦¿ÉÒ԰󶨵½²»Í¬ XML ½ÚµãÉÏ£¬¶øÇÒÀûÓÃÁË Internet Explorer 5 beta ÖÐËùÓеÄеÄÊý¾Ý°ó¶¨¹¦ÄÜ¡£
HTML¡¢¶¯Ì¬ HTML ºÍ XML Ö®¼äµÄ¹ØÏµÊÇʲô£¿
HTML ¿ÉÒÔºÍ CSS Ò»ÆðÓÃÓÚ¸ñʽ»¯ºÍ±íʾ³¬Á´½ÓÒ³Ãæ¡£¶¯Ì¬ HTML£¬Í¨¹ý DOM£¬Ê¹ HTML ÖеÄËùÓÐÔªËØ£¬¶¼¿ÉÒÔͨ¹ýÓëÓïÑÔÎ޹صĽű¾ºÍÆäËû±à³ÌÓïÑÔÀ´·ÃÎÊ£¬´Ó¶øÔںܴó³Ì¶ÈÉÏÌá¸ßÁ˿ͻ§»ú¶ËµÄ½»»¥ÄÜÁ¦£¬¶øÇÒ²»ÐèÒª¶Ô·þÎñÆ÷µÄ¶îÍâÐèÇó¡£Ò³ÃæµÄ¶ÔÏóÄ£ÐÍÔÊÐí¶¯Ì¬¸ü¸ÄÈκη½ÃæµÄÄÚÈÝ£¨°üÀ¨Ôö¼Ó¡¢É¾³ýºÍÒÆ¶¯£©¡£
ͨ¹ýΪ½á¹¹»¯Êý¾ÝÌí¼Ó XML£¬Îª¿ª·¢ÈËÔ±ÌṩÁ˹¹ÔìÏÂÒ»´ú·á¸»¡¢Áé»î Web Ó¦ÓóÌÐòµÄ¼¼Êõ¡£Ê¹Óà XML£¬ËûÃÇ¿ÉÒÔΪ×ÀÃæÌṩ½á¹¹»¯Êý¾Ý£¬²¢ÇÒÓà XML ¶ÔÏóÄ£ÐͼÆËãÊý¾Ý¡£ÏÖÔڵĿª·¢ÈËÔ±¿ÉÒÔÔÚä¯ÀÀÆ÷£¨ÀýÈç Microsoft Internet Explorer 4.0 ºÍ Microsoft Internet Explorer 5£©»òÕ߯äËûÓ¦ÓóÌÐòÖУ¬Í¨¹ý½Å±¾ÏÔʾ»ùÓÚ XML µÄÊý¾Ý¡£´ËÍ⣬ËûÃÇÒ²¿ÉÒÔ¶ÔÊý¾ÝÓ¦Óøñʽ»¯¹æÔò£¬¶ø²»ÐèҪʹÓà XSLT Ñùʽ±íµÄ¸´Ôӽű¾£¨Êµ¼ÊÉÏÊǽ«»ùÓÚ XML µÄÊý¾Ýת»»ÎªÏÔʾ£©¡£ÕâÁ½ÖÖÏÔʾ»ùÓÚ XML Êý¾ÝµÄ·½·¨£¬¶¼Ê¹µÃÉú³É¸´ÔÓÊý¾ÝµÄ¶à¸öÊÓͼ³ÉΪ¿ÉÄÜ¡£
Ϊʲô XML ÕâÃ´ÖØÒª£¿
XML ½«³ÉΪ¼ÆËãÁìÓòµÄδÀ´¡£×÷ΪһÖÖ¼¼Êõ£¬ËüµÄÓ°ÏìÁ¦½«ÉøÍ¸µ½±à³ÌµÄÿ¸ö·½Ã棬´ÓǶÈëʽϵͳµ½Í¼ÐνçÃæ£¬µ½·Ö²¼Ê½ÏµÍ³ÒÔ¼°Êý¾Ý¿â¹ÜÀí¡£Ëüʵ¼ÊÉÏÒѾ³ÉΪÈí¼þ¹¤ÒµÖ®¼äÊý¾ÝͨÐŵıê×¼£¬²¢ÇÒѸËÙ´úÌæ EDI ϵͳ³ÉΪȫÇò¼¸ºõËùÓй¤Òµ½øÐÐÒµÎñ½»»»µÄÖ÷ҪýÌå¡£ËüºÜÓпÉÄÜ»á³ÉΪ´´½¨ºÍ´æ´¢´ó¶àÊýÎĵµµÄÓïÑÔ£¬²»¹ÜÊÇ·ñÔÚ Internet ÉÏ£¬²¢ÇÒÓпÉÄܳÉΪ Internet Ó¦ÓóÌÐò·þÎñÆ÷µÄ»ù´¡£¬ÓÐЩÈËÏàÐÅËü½«´úÌæÐí¶àĿǰÉú²úµÄС°ü×°²úÆ·¡£
Microsoft Ìṩʲô XML ²úÆ·£¿
Microsoft ÕýÔÚŬÁ¦ÎªÐí¶àÁìÓò¿ª·¢ XML ×ÊÔ´£º
Êý¾Ý·ÃÎÊ¡£×îÐ嵀 ActiveX® Êý¾Ý¶ÔÏó (ADO) µÄ»¯Éí£¬ÒѾ֧³Ö XML µÄÉú³ÉºÍÏû·Ñ½«½üÒ»ÄêÁË£¬²¢ÇÒ Microsoft SQL Server 2000 Ϊ»ùÓÚ SQL µÄÐÅÏ¢ºÍ XML Ö®¼äµÄ»¥Ïàת»»ÌṩÁËÐí¶à½Ó¿Ú¡£
ä¯ÀÀÆ÷Ö§³Ö¡£Microsoft ÊǵÚÒ»¸öÉú²úÄܹ»ÔĶÁ XML Îļþ£¨ÎÞÂÛÊÇÓÃÔʼ½á¹¹ÐÎʽ£¬»¹ÊÇͨ¹ý XSL »ò CSS Ñùʽ±í£©µÄÉÌÒµä¯ÀÀÆ÷ (Internet Explorer 5) µÄ¹«Ë¾¡£
BizTalk Server 2000¡£Microsoft® BizTalk(TM) Server 2000 ÌṩÁËÔÚ´óÁ¿²»Í¬¸ñʽ£¨°üÀ¨ XML£©Ö®¼äͨÐŵķ½Ê½£¬À´°ïÖúÍÆ¶¯ÒµÎñ¶ÔÒµÎñµÄÓ¦ÓóÌÐò¡£BizTalk Server Ò²°üÀ¨ÁËÐí¶à¼Ü¹¹Éú³ÉºÍÓ³É乤¾ß£¬´Ó¶ø´ó´ó¼ò»¯ÁËÒµÎñ»òÉÌÒµÐèÒªµÄ XML ½á¹¹µÄ¿ª·¢¡£
ÔÚ Web ÉÏ´«Ê䣬±ØÐëѹËõ XML Âð£¿
Ò»°ãÀ´Ëµ£¬Ñ¹Ëõ XML µÄÐèÒªÊÇÓëÓ¦ÓóÌÐòÓйص쬲¢ÇҺܴó³Ì¶ÈÉÏÊÇ·þÎñÆ÷ºÍ¿Í»§»úÖ®¼äÒÆ¶¯Êý¾ÝÁ¿µÄº¯Êý¡£ÓÃÓÚÃèÊöÊý¾Ý½á¹¹µÄ±ê¼ÇµÄ·´¸´ÌØÐÔ£¬Ê¹ XML Äܹ»·Ç³£ºÃµØÑ¹ËõÊý¾Ý¡£ÖµµÃ×¢ÒâµÄÊÇ HTTP 1.1 ·þÎñÆ÷ºÍ¿Í»§»úµÄѹËõ¶¼ÊDZê×¼µÄ£¬XML ¿ÉÒÔ×Ô¶¯´ÓÖÐÊÜÒæ¡£
XML ×÷ΪÊý¾Ý¸ñʽÓжలȫ£¿ÓÐûÓÐÔö¼Ó XML °²È«ÐԵļƻ®£¿
XML ºÍ HTML Ò»Ñù°²È«¡£ÕýÒòΪ°²È«µÄ HTTP (HTTPS) ¿ÉÒÔÓÃÓÚ¶Ô HTTP Ìí¼ÓÃÜÂë¼¼Êõ£¬´Ó¶ø±£»¤ÁË HTML£¬Òò´ËËüÒ²¿ÉÒÔÓÃÓÚ±£»¤ XML¡£XML ÊDZíʾ½á¹¹»¯Êý¾ÝµÄ»ùÓÚÎı¾¸ñʽ¡£Õâ¿ÉÒÔʹÊý¾ÝµÄ¼òµ¥ÐԺͻ¥²Ù×÷ÐÔ×î´ó»¯¡£¶Ô XML ¸ñʽÔö¼Ó°²È«ÐÔºÍÑéÖ¤ÄÜÁ¦Ê±¿ÉÒÔ²ÉÈ¡Ðí¶à²½Öè¡£Ê×ÏÈ£¬XML ¿ÉÒÔÔÚ´«Êäµ½¿Í»§Ö®Ç°ÔÚ·þÎñÆ÷ÉϼÓÃÜ£¬È»ºóÔÚ¿Í»§»úÉϽâÃÜ¡£Ó¦ÓÃÓÚÊý¾Ý±¾ÉíµÄÊý×ÖÇ©ÃûÒ²¿ÉÒÔÑéÖ¤ XML¡£
È·ÈÏ
ʲôÊÇ DTD ¼°ÆäÓÃ;£¿
ÎĵµÀàÐͶ¨Òå (DTD) ¶¨ÒåÁËÒ»Àà XML ÎĵµµÄÕýÈ·Óï·¨¡£Ò²¾ÍÊÇ˵£¬ËüÁгöÁËÐí¶àÔªËØÃû³Æ£¬Ê²Ã´ÔªËØ¿ÉÒÔºÍÆäËûÔªËØÒ»ÆðÏÔʾ£¬Ê²Ã´ÊôÐÔ¿ÉÒÔÓÃÓÚÿÖÖÔªËØÀàÐ͵ȵȡ£DTD ʹÓà XML ÎĵµÊ¹ÓõIJ»Í¬Óï·¨ÐÎʽ¡£
Web ¿ª·¢ÈËÔ±ÔÚʹÓà XML ÃèÊöÊý¾Ýʱ±ØÐë°üÀ¨ DTD Âð£¿
²»¡£XML ¿ÉÒÔÓÃÓÚÃèÊöÓлòûÓÐ DTD µÄÊý¾Ý¡£ÊõÓï¡°ÓÐЧ¡±XML Ö¸´úÒýÓà DTD µÄ XML Êý¾Ý£¬¶ø¡°Á¼ºÃÐγɵġ±XML ÊÇδʹÓà DTD µÄ XML¡£´ËÍ⣬¡°Á¼ºÃÐγɵġ±XML »¹ÊÇ XML ºÍ±ê׼ͳһ±ê¼ÇÓïÑÔ (SGML) µÄ»ù±¾Çø±ðÖ®Ò»¡£ºÜÃ÷ÏÔ£¬ÔÚÕâÁ½ÖÖÇé¿öÏ£¬XML ±¾Éí¶¼±ØÐë×ñÊØÓïÑԵıê×¼£¨ÀýÈ磬ËùÓбê¼Ç¶¼±ØÐëÊDZպϵ쬲¢ÇÒ±ê¼Ç²»ÄÜÖØµþ£©¡£
ʲôÊÇ XML ¼Ü¹¹£¿ËüÃÇÓë DTD µÄÇø±ðÊÇʲô£¿
ËäÈ» XML 1.0 ÌṩÁ˶¨Òå XML ÎĵµµÄÄÚÈÝÄ£Ð͵ĻúÖÆ ¡ª DTD ¡ª µ«ÊǺÜÃ÷ÏÔ»¹ÐèÒª¶¨ÒåÄÚÈÝÄ£Ð͵ĸüÈ«Ãæ¸üÓÐЧµÄ·½·¨¡£XML ¼Ü¹¹ÊÇÌØÊâµÄ XML ½á¹¹µÄ¶¨Ò壨´ÓÆä×éÖ¯ºÍÊý¾ÝÀàÐÍÁ½¸ö·½Ã棩¡£XML ¼Ü¹¹Ê¹Óá°XML ¼Ü¹¹¡±ÓïÑÔÀ´Ö¸¶¨Ôڼܹ¹ÖÐÈçºÎ¶¨ÒåÔªËØµÄÿÖÖÀàÐÍ£¬ÒÔ¼°ÓëÔªËØ¹ØÁªµÄÊý¾ÝÀàÐÍ¡£Óë DTD Ïà±È£¬¼Ü¹¹µÄ×îÏÊÃ÷µÄÌØµã£¬±ãÊǼܹ¹±¾Éí¾ÍÊÇ XML Îĵµ¡£ÕâÒâζ×ÅÔĶÁËüËùÃèÊöµÄ XML µÄ¹¤¾ßÒ²¿ÉÒÔÔĶÁËü¡£
Microsoft µÄ XML ·þÎñĿǰ֧³Ö XML Êý¾Ý¼Ü¹¹£¬Ëü´ú±íÁËÔÚ 1999 Äê 3 Ô Internet Explorer 5 ×°ÔËʱ ¡°W3C ¼Ü¹¹¡±»î¶¯µÄ¿ìÕÕ¡£XML Êý¾Ý¼Ü¹¹ÔÊÐí¿ª·¢ÈËÔ±ÔÚËûÃÇµÄ XML ÎĵµÖÐÌí¼ÓÊý¾ÝÀàÐÍ£¬ÒÔ¼°¶¨Ò忪·ÅµÄÄÚÈÝÄ£ÐÍ¡£ÕâÖÖ¶Ô DTD ¹¦ÄܵÄÀ©Õ¹¶Ô XML ±à³ÌºÜ¹Ø¼ü¡£
µ«ÊÇ W3C ÕýÔÚ×¼±¸¡°XML ¼Ü¹¹¶¨Òå (XSD)¡±£¬Ëü½«³ÉΪ¡°XML ¼Ü¹¹±ê×¼¡±¡£Microsoft ¼Æ»®Ôڴ˹淶³ÉΪ½¨Òéºó£¬Á¢¼´Ê¹¶Ô¡°XML ¼Ü¹¹¶¨Òå (XSD)¡±µÄÖ§³Ö³ÉΪËüºËÐÄ XML ·þÎñµÄÒ»²¿·Ö¡£
ʲôÊÇÃû³Æ¿Õ¼ä£¬ËüÃÇΪºÎÖØÒª£¿
Ãû³Æ¿Õ¼äÊÇ XML µÄÁíÒ»¸ö¸ß¼¶¹¦ÄÜ£¬²¢×÷Ϊ XML 1.0 ¹æ·¶µÄÒ»²¿·Ö£¬ÔÚ W3C ±Ê¼ÇÖÐ×÷Á˸ÅÊö¡£ËüÃÇÔÊÐí¿ª·¢ÈËÔ±ÏÞ¶¨ÔªËØÃû³ÆºÍ¹ØÏµ¡£Ãû³Æ¿Õ¼äÊ¹ÔªËØÃû³ÆÎ¨Ò»¿Éʶ±ð£¬´Ó¶ø±ÜÃâÁËÃû³ÆÏàͬ£¬µ«ÊÇÔÚ²»Í¬´ÊµäÖж¨ÒåµÄÔªËØÖ®¼ä·¢ÉúÃû³Æ³åÍ»¡£ËüÃÇÔÊÐí»ìºÏÀ´×Ô²»Í¬Ãû³Æ¿Õ¼äµÄ±ê¼Ç£¬ÕâÒ»µã¶Ô¶à¸öÀ´Ô´µÄÊý¾ÝºÜÖØÒª¡£
ÀýÈ磬Êéµê¿ÉÒÔ¶¨Òå
Ãû³Æ¿Õ¼äÓÐÖúÓÚÇåÎúµØ¶¨ÒåÕâÖÖ²î±ð¡£
XSLT ºÍ XPATH
ʲôÊÇ XSLT£¿
XSLT£¨Ó¢ÎÄ£© £¬»òÕßÓÃÓÚת»»µÄ¿ÉÀ©Õ¹Ñùʽ±íÓïÑÔ£¬ËüÊÇÔÚ 1999 Äê 11 Ô 6 ÈÕ»ñµÃÅú×¼µÄ W3C ½¨Òé¡£´Ó±ê¼ÇºÍ±à³ÌÁ½ÖØÒâÒåÉÏ˵£¬ÕâÖÖÓïÑÔÌṩÁ˽« XML ½á¹¹×ª»»µ½ÆäËû XML ½á¹¹¡¢HTML »òÕßÈκÎÊýÁ¿µÄÆäËûÎı¾¸ñʽ£¨ÀýÈç SQL£©µÄ»úÖÆ¡£ËäÈ»Ëü¿ÉÒÔÓÃÓÚ´´½¨ Web Ò³ÃæµÄÏÔʾÊä³ö£¬µ«ÊÇ XSLT µÄʵ¼Ê¹¦ÄÜÔÚÓÚÄܹ»¸Ä±äµ×²ã½á¹¹£¬¶ø²»ÊǼòµ¥µØ¸Ä±äÕâЩ½á¹¹µÄýÌå±íʾ£¬¾ÍÏñÔÚ²ãµþÑùʽ±í (CSS) ÖÐÒ»Ñù¡£
XSL¡¢XQL¡¢XSL ģʽ ºÍ XSLT Ö®¼äµÄÇø±ðÊÇʲô£¿
XSLT Ô´×Ô CSS ÔÚ¶Ô XML Îĵµ½á¹¹¸Ä¶¯ÉϵľÖÏÞÐÔ£¬µ±Ê±´´½¨ XML µÄÔÒò¸üÇãÏòÓÚ´úÌæ HTML ¶ø²»ÊÇÌṩͨÓÃÊý¾ÝÃèÊöÓïÑÔ¡£Òò´Ë¿ÉÀ©Õ¹Ñùʽ±íÓïÑÔ (XSL) ³ÉΪ¹¹Ôì¸ñʽ»¯ XML з½·¨µÄ³É¹û¡£
µ«ÊÇ£¬¡°W3C Ñùʽ¹¤×÷¡±×éµÄ³ÉÔ±ºÍÔçÆÚ XML ²ÉÓÃÕߺܿì¾Í·¢ÏÖ£¬Äܹ»½« XML ´ÓÒ»ÖÖ¸ñʽת»»µ½ÁíÒ»¸ö¸ñʽµÄÓïÑÔ£¬¿ÉÒÔ¼«´óµØ¼ò»¯Éú³ÉµÄ´óÁ¿´úÂë¡£Microsoft Ïò W3C Ìá½»ÁËÒ»¸ö½¨Ò飬×î³õÃû³ÆÎª XML ²éѯÓïÑÔ£¨»ò XQL£©£¬ËüËæÖ®±» W3C ²ÉÄÉΪ XSL ģʽÓïÑÔ¡£¸ÃÓïÑԵĴó¶àÊý¹¦ÄÜ×îÖÕ¶¼±»ÄÉÈëÁË XSLT ¹æ·¶ÖС£
×îÖÕ±ê×¼½áºÏÁËΪ²»Í¬³õʼÌõ¼þ¶øÐÞ¸ÄµÄ XSLT ²ÎÊý£¬´´½¨´úÂ빦ÄÜ¿éµÄÃüÃûÄ£°å£¬ÒÔ¼°´óÁ¿ÓÃÓÚÊýÖµºÍ×Ö·û´®´¦ÀíµÄÔöÇ¿¹¦ÄÜ¡£XSLT »¹ÎªÔÚÓïÑÔÖÐÌí¼ÓÄÚÖù¦ÄÜÌṩ·½±ã£¬ÌṩÁË Microsoft ¿ÉÔÚ×Ô¼ºµÄʵÏÖÖÐÓÃÀ´Ìí¼ÓÐí¶à¼«ÆäÓÐÓù¦ÄÜ£¨°üÀ¨·ÃÎÊ COM ¶ÔÏóºÍ½Å±¾£©µÄ²úÆ·¡£
ʲôÊÇ XPath£¿
XPath£¨Ó¢ÎÄ£© ÊÇΪ XML ¶¨ÒåµÄ²éѯÓïÑÔ£¬ËüÌṩÔÚÎĵµÖÐÑ¡Ôñ½Úµã×Ó¼¯µÄ¼òµ¥Óï·¨¡£Í¨¹ý XPath£¬Í¨¹ýÖ¸¶¨ÀàËÆÓÚĿ¼µÄ·¾¶£¨¼´Ãû³Æ£©ÒÔ¼°Â·¾¶ÖеÄÌõ¼þ£¬¿ÉÒÔ¼ìË÷ÔªËØ¼¯ºÏ¡£XPath ¶Ô XSLT ºÍ XML DOM ¶¼ºÜÖØÒª£¬²¢Óë XPointer ¹æ·¶£¨ÔÊÐí¸ù¾Ýͳһ×ÊÔ´¶¨Î»·û [URL] ºÍ XPath ±í´ïʽµÄ×éºÏÀ´Ñ¡ÔñÎĵµÆ¬¶Ï£©ÓÐÁªÏµ¡£
Ϊʲô XSLT ¶Ô XML ºÜÖØÒª£¿
XSLT Êǽ«Ò»ÖÖ XML Îĵµ×ª»»ÎªÁíÒ»ÖÖµÄÓïÑÔ¡£ÕâÒâζ×ÅËüÌṩÁ˵¥Ô´ XML Êý¾ÝµÄ»úÖÆ£¬¿ÉÒÔÔÚ Web Ò³ÃæÖд´½¨ÓÉÓû§¶¯Ì¬¸ü¸ÄµÄ·á¸»ÊÓͼ£¬¿ÉÒÔΪĿ±êͨÐŹýÂËÊý¾Ý¡£XSLT ¶ÔÓÚÒµÎñ¹æÔò±àÂëÒѾ×㹻ǿ´ó¡£Ëü¿ÉÒÔ´ÓÊý¾ÝÉú³ÉͼÐΣ¨²»½ö½öÊÇ Web Ò³Ãæ£©¡£ËüÉõÖÁ¿ÉÒÔ´¦ÀíÓëÆäËû·þÎñÆ÷µÄͨÐÅ ¡ª ÌØ±ðÊǺÍÄܹ»¼¯³Éµ½ XSLT ÖеĽű¾Ä£¿éÐ×÷ ¡ª ÒÔ¼°ÔÚ XSLT ×ÔÉíÄÚ²¿Éú³ÉÊʵ±µÄÏûÏ¢¡£ËäÈ»Ëü²»¿ÉÄÜ´úÌæ×ÀÃæÏµÍ³ÖеĴó¶àÊý½»»¥£¨³öÓÚÐÔÄܺÍʹÓ÷½±ãÐÔÁ½·½Ãæ·ÖÔÒò£©£¬µ«ÊÇÔÚδÀ´µÄ¼¸ÄêÖУ¬XSLT ºÜÓпÉÄÜ×îÖÕ³ÉΪϵͳ֮¼ä½øÐÐͨÐŵÄÖ÷Òª¡°±à³Ì¡±ÓïÑÔ¡£
XSLT ºÍ CSS Ö®¼äµÄÇø±ðÊÇʲô£¿ËüÃDz»ÊÇÑùʽ±íÂð£¿
²ãµþÑùʽ±í (CSS) µÄÈÎÎñÊÇ¶Ô HTML ÔªËØÖ¸¶¨Ò»×éÏÔʾÊôÐÔ¡£CSS ¾ö¶¨ÁËÒ³ÃæµÄÊÓ¾õÍâ¹Û£¬µ«ÊDz»»á¸Ä±äÔ´ÎĵµµÄ½á¹¹¡£
ÁíÒ»·½Ã棬XSLT Ò²³ÆÎª»ùÓÚÄ£°åµÄÓïÑÔ£¬ËüÔÊÐí½«Ä³ÖÖģʽӳÉäµ½Ô´ÎĵµÖУ¬¸ÃÔ´ÎĵµµÄÊä³öÊÇÓà XML¡¢HTML »ò´¿Îı¾ÊéдµÄ¡£Ê¹Óà XSLT£¬¿ÉÒÔ½« XML ÎĵµµÄ½á¹¹×ª»»Îª²»Í¬µÄ XML Îĵµ¡£ÀýÈ磬Äú¿ÉÒÔ¸ü¸Ä XML ÎĵµµÄ˳Ðò¡¢Ìí¼Ó»òɾ³ýÔªËØ¡¢Ö´ÐÐÌõ¼þ²âÊÔ»òÕßÓÃÔªËØµÄ¼¯ºÏ½øÐеü´ú¡£
XSLT ºÍ CSS ²»ÊǼæÈݱê×¼¡£Ò»ÖÖÔÚ XML Öд´½¨ Web Ò³ÃæµÄÓÐÓü¼Êõ£¬ÊÇÓà XSLT ½« XML ת»»ÎªÖîÈçÁбí»ò±íµÄ½á¹¹£¬È»ºó½« CSS Ó¦ÓÃÓÚ½á¹û£¬¿ØÖÆÕâЩ½á¹¹ÔÚÊʵ±Ã½ÌåÖеÄÏÔʾ¡£ÄúÉõÖÁ¿ÉÒÔ´Ó XSLT ´´½¨ CSS¡£
±ê×¼
Microsoft ÈçºÎÓë XML ±ê×¼¼æÈÝ£¿
´Ó XML ÓïÑÔ¿ªÊ¼²úÉúÆð£¬Microsoft ¾ÍÕ¾ÔÚÁË XML µÄ×îÇ°ÑØ£¬¶øÇÒºÜÖµµÃ×¢ÒâµÄÊÇ£¬W3C ÔÚ¹ýÈ¥¼¸ÄêÖÐËùÉú³ÉµÄ´ó¶àÊý XML ½¨ÒéºÍ¹¤×÷²Ý°¸£¬¶¼°üÀ¨À´×ÔÖÁÉÙÒ»¸ö£¨ÔÚijЩÇé¿öÏ¿ÉÄÜÊÇÊý¸ö£©Microsoft Ö°Ô±µÄÊäÈëºÍ²ÎÓë¡£Microsoft ÒѾ¶à´Î±»Î¯ÒÔÖØÈΣ¬Óë W3C ±ê×¼×éÖ¯Ò»Æð£¬È·±£ XML µÄ¿ª·¢ÄÜʹËùÓÐÓû§ÊÜÒæ£¬²¢ÇÒÔÚÐí¶à²»Í¬ÁìÓòµÄ¿ª·¢Öж¼×÷³öÁËÖØÒª¹±Ï×£¬°üÀ¨ XML ¹æ·¶¡¢DOM¡¢XSLT ºÍ¼Ü¹¹¶¨ÒåÓïÑÔ¡£Microsoft ³Ðŵ½«Óë×îй淶ºÍ±ê×¼±£³ÖÒ»Ö¡£
XML ºÍ World Wide Web Consortium (W3C) Ö®¼äµÄ¹ØÏµÊÇʲô£¿
W3C ÓÐÒ»»îÔ¾µÄ XML ¹¤×÷×é¡£Microsoft ´Ó 1996 Äê 6 ÔÂÆð¾ÍÊǸÃ×éÖ¯µÄ¹²Í¬·¢ÆðÕßÖ®Ò»£¬´ÓÄÇʱÆðÐí¶àÒµ½çÆóÒµ¶¼¿ªÊ¼¼ÓÈ룬°üÀ¨ Netscape Communications Corp.¡¢IBM ºÍ Oracle¡£ÓÐ¹Ø XML ±ê×¼¹ý³ÌµÄÏêϸÐÅÏ¢£¬Çë·ÃÎÊ W3C Web Õ¾µã£¨Ó¢ÎÄ£©¡£
XML ºÍ W3C µÄµØÎ»¹ØÏµÈçºÎ£¿
XML 1.0 ÊÇÔÚ 1998 Äê 12 Ô±»ÕýʽÅú×¼µÄ£¬ÏÖÔÚÈÔÊǸöÎȶ¨µÄ±ê×¼¡£Óйص±Ç° XML ¹æ·¶µÄÏêϸÐÅÏ¢ÒÔ¼° W3C ÄÚ²¿µÄÌá½»ºÍÉóÔĹý³Ì£¬Çë²Î¼û W3C Web Õ¾µã£¨Ó¢ÎÄ£©¡£
DOM ÔÚ W3C ÖеĵØÎ»ÈçºÎ£¿
DOM Level 1 µÄ W3C Îĵµ×´Ì¬Îª¡°ÍƼö¡±¡£Õâ˵Ã÷ W3C ĿǰÕýÔÚÌáÒ齫Ëü×÷Ϊ World Wide Web Éϵıê×¼¡£ÓÐ¹Ø DOM ºÍÔÚ W3C ÄÚ²¿Ìá½»ºÍÉóÔĹý³ÌµÄÏêϸÐÅÏ¢£¬Çë²Î¼û DOM ¹æ·¶£¨Ó¢ÎÄ£©¡£
¹¤¾ßÖ§³Ö
SQL Server ºÍ ADO Ö§³Ö XML Âð£¿
Microsoft ActiveX Êý¾Ý¶ÔÏó (ADO) ¼¼Êõ£¬ÌṩÐí¶à½«Êý¾Ý¿â¼Ç¼¼¯£¨Êý¾Ý¼Ç¼¼¯ºÏ£©×ª»»Îª XML ¸ñʽµÄ·½·¨£¬ÒÔ¼°´Ó¸ø¶¨½á¹¹ÖлñÈ¡ XML ²¢½«Æäת»»»Ø ADO ËùÖ§³ÖÊý¾Ý¿â£¨°üÀ¨ SQL Server ºÍ Oracle Êý¾Ý¿â£©µÄ¹¤¾ß¡£´ËÍ⣬ͨ¹ý MSXML2 ºÍ MSXML3 ÖÐµÄ XML Êý¾ÝÔ´¶ÔÏ󣬻¹¿ÉÒÔ½«ÈÎÒâ XML Ö±½Ó¼ÓÔØµ½ ADO ÖÐÒÔÉú³É¼Ç¼¼¯¡£
SQL Server 2000 »¹ÔÊÐíͨ¹ý URL Ö±½ÓÉèÖúͼìË÷ XML£¬·½Ê½ºÍµ÷Óà Web Ò³Ãæ·Ç³£ÏàËÆ¡£ÕâÊÇ´¦ÀíÊý¾ÝµÄÇ¿´ó»úÖÆ£¬ÒòΪËü»ù±¾ÉÏÒâζ×Å¿ÉÒÔ½« SQL Server Êý¾ÝÖ±½Ó¼¯³Éµ½ XML ¹ýÂËÆ÷ºÍ Web Ò³Ãæ£¬»ù±¾ÉÏ·²ÊÇÓÐ XML ÎĵµµÄµØ·½¶¼¿ÉÒÔ¼¯³É SQL Server Êý¾Ý¡£´ËÍ⣬»¹¿ÉÒÔÉèÖÃ×Ô¶¨ÒåÄ£°å£¬À´¿ØÖÆÈçºÎ´Ó SQL Server Êý¾ÝÖвúÉú XML£¬Ê¹Êý¾Ý¿â³ÉΪÉú³É XHTML Ò³ÃæµÄÇ¿´ó¹¤¾ß¡£
×îºó£¬ÖîÈç BizTalk Server ÕâÑùµÄÓ¦ÓóÌÐò»¹ÔÊÐíÔÚÈÎÒâÊýÁ¿µÄ²»Í¬Êý¾ÝÔ´£¨´Ó XML Îĵµµ½Êý¾Ý¿âµ½ Excel ºÍ Word Îĵµ£©Ö®¼ä½øÐÐÓ³É䡢Ϊ Web Ìåϵ½á¹¹´´½¨¸´ÔÓÊý¾Ý¹ÜµÀÒÔ¼°¸ù¾Ý XML Êý¾Ý¿âÐèÇó¹¹ÔìÓÐЧµÄ¼Ü¹¹¡£
ĿǰÓÐ Microsoft ¹¤¾ß¿ÉÒÔ°ïÖúÎÒ¿ìËÙÑØÓà XML Âð£¿
Microsoft BizTalk Server 2000 ÊÇÓÃÓÚÊý¾Ý½»»»µÄ¡¢»ùÓÚ XML µÄ·þÎñÆ÷£¬ËüÌṩÆôÓõç×ÓÉÌÎñÒµÎñÉç»áµÄ»ù±¾½á¹¹ºÍ¹¤¾ß¡£BizTalk Server µÄ»ù´¡ÊÇ»ùÓÚ¹æÔòµÄÒµÎñÎĵµÂ·ÓÉ¡¢×ª»»ºÍ¸ú×Ù»ù±¾½á¹¹¡£¸Ã»ù±¾½á¹¹ÔÊÐí¹«Ë¾Í¨¹ýÔÚ×éÖ¯±ß½çÖ®ÄÚ»òÖ®¼äµÄÓ¦ÓóÌÐòÖм佻»»ÒµÎñÎĵµ£¬ÀýÈ繺Âò¶¨µ¥ºÍ·¢Æ±£¬À´¼¯³É¡¢¹ÜÀíºÍ×Ô¶¯»¯ÒµÎñ¹ý³Ì¡£ÓйØÏêϸÐÅÏ¢£¬Çë²Î¼ûMicrosoft BizTalk Server 2000£¨Ó¢ÎÄ£© ¡£
ʲôÊÇ SOAP£¿
SOAP ÊǼòµ¥¶ÔÏó·ÃÎÊÐÒ飬ÊÇ´´½¨´ó·¶Î§·Ö²¼Ê½¡¢¸´ÔÓ¼ÆËã»·¾³µÄ¹¤¾ß£¬¸Ã¼ÆËã»·¾³¿ÉʹÓÃÏÖÓÐµÄ Internet »ù±¾½á¹¹ÔËÐÐÔÚ Internet ÉÏ¡£SOAP ¿ÉÒÔʹӦÓóÌÐòÓÃÐíÐí¶à¶à·½·¨ÔÚ Internet ÉÏ»¥ÏàÖ±½ÓͨÐÅ¡£ÓÐ¹Ø SOAP µÄÏêϸÐÅÏ¢£¬Çë²Î¼û SOAP ¹æ·¶£¨Ó¢ÎÄ£©¡£
XML ÈçºÎÊÊÓÃÓÚ Microsoft Windows® Distributed InterNet Applications (Windows DNA) ²ßÂÔÀ´¹¹ÔìÈý²ã²¢¾ßÓÐ Web ¹¦ÄܵÄÓ¦ÓóÌÐò£¿
XML ÕýÔÚ¿ìËÙ³ÉΪ½«½á¹¹»¯Êý¾Ý´ÓÖмä²ã´«Ë͵½×ÀÃæµÄ¹¤¾ß¡£»ùÓÚ XML µÄÊý¾Ý¿ÉÒÔͨ¹ýÖмä²ã´úÀíÓë¶àÖÖºó¶Ë£¨Êý¾Ý¿â£©Ô´¼¯³É¡£¼Ü¹¹£¨²Î¼û¡°XML Êý¾Ý¡±Ò»½Ú£©¿ÉÒԸĽø¸Ã¹ý³Ì£¬²¢ÇÒ¿ª·¢ÈËÔ±¿ÉÒÔ¸ü¾«È·µØÃèÊöºÍ½»»»Êý¾Ý¡£
ÎÊÌâºÍ½â¾ö·½°¸
ΪʲôÔÚµ÷ÓÃÁË Load() ·½·¨ºó£¬ÎÒµÄÎĵµ¶ÔÏóÈÔȻΪ¿Õ£¿
ĬÈÏÇé¿öϲÙ×÷ÊÇÒì²½¼ÓÔØµÄ¡£ÕâÒâζ×ÅÈç¹ûÌṩ http URL µØÖ·£¬ÄÇô load() ·½·¨½«Ö±½Ó·µ»Ø£¬²¢ÇÒÎĵµ¶ÔÏóÈÔȻΪ¿Õ£¬ÒòΪÊý¾Ý»¹Ã»ÓдӷþÎñÆ÷·µ»Ø¡£ÎªÁ˾ÀÕýÕâ¸öÎÊÌ⣬ÇëÔÚ´úÂëÖÐÌí¼ÓÏÂÃæµÄÐУº
xmldoc.async = false;
ͬʱ£¬Èç¹ûÊÇ´Ó¶ÀÁ¢µÄ C++ Ó¦ÓóÌÐò¼ÓÔØ http XML Îĵµ£¬ÄÇô±ØÐë²éѯÏûÏ¢¶ÓÁвÅÄܼÌÐø¼ÓÔØ¡£
ÈçºÎ¼ÓÔØÓÐÍâ¹úºÍÌØÊâ×Ö·ûµÄÎĵµ£¿
Îĵµ¿ÉÒÔ°üº¬Íâ¹ú×Ö·û£¬ÀýÈ磺
foreign characters (¨²¨®¨ªÿ)
ÀýÈç úóíá µÄÍâ¹ú×Ö·û±ØÐëÔÚÇ°Ãæ¼ÓÉÏ escape ÐòÁС£Íâ¹ú×Ö·û¿ÉÒÔÊÇ UTF-8 ±àÂë»òÓò»Í¬±àÂëÖ¸¶¨£¬ÈçÏÂËùʾ£º
foreign characters (úóíá)
ÏÖÔÚ¿ÉÒÔÕýÈ·¼ÓÔØ XML ÁË¡£
ÆäËû×Ö·ûÊDZ£ÁôÔÚ XML Öе쬲¢ÇÒÐèÒªÒÔ²»Í¬µÄ·½Ê½´¦Àí¡£ÏÂÃæµÄ XML£º
This & that
²úÉúÈçÏ´íÎó£º
´Ë´¦²»ÔÊÐíÓпոñ¡£
ÐÐ 0000001: This & that
λÖà 0000012: ----------^
´Ë´¦ & ÊÇ XML ¾ä·¨½á¹¹µÄÒ»²¿·Ö£¬Èç¹ûËü½ö½ö·ÅÔÚ XML Êý¾ÝÔ´ÄÚ²¿£¬ÄÇô²»ÄܽâÊÍΪ &¡£ÄúÐèÒªÌæ»»³ÆÎª¡°ÊµÌ塱µÄÌØÊâ×Ö·ûÐòÁС£
This & that
ÏÂÃæµÄ×Ö·ûÐèÒªÏàÓ¦µÄʵÌ壺
< <
& &
> >
" "
' '
ÒýºÅ×Ö·û±»ÓÃ×÷±ê¼ÇÖÐÊôÐÔÖµµÄ¶¨½ç·û£¬Òò´Ëͨ³£²»ÄÜÔÚÊôÐÔÖµµÄÄÚ²¿Ê¹Óá£ÀýÈ磬ÏÂÃæµÄÄÚÈݽ«·µ»Ø´íÎó£º
´Ë´¦µÄµ¥ÒýºÅ¼ÈÓÃ×÷ÊôÐÔ¶¨½ç·û£¬ÓÖÔÚÊôÐÔÖµ×ÔÉíÖС£ÎªÁ˾ÀÕýÕâ¸öÎÊÌ⣬¿ÉÒÔ½«ÊôÐÔ¶¨½ç·û»»³ÉË«ÒýºÅ£º
»òÕß¿ÉÒÔ½«µ¥ÒýºÅתÒåΪʵÌå '
ÉÏÊöÁ½ÖÖ·½Ê½¶¼½«Í¨¹ý XML ¶ÔÏóÄ£ÐÍÖÐµÄ getAttribute ·½·¨·µ»ØÊôÐÔÖµ John's Stuff¡£Í¬Ñù£¬¶ÔÓÚË«ÒýºÅ£¬Äú¿ÉÒÔʹÓÃʵÌå
"¡£
Ò²¿ÉÒÔͨ¹ý½«Îı¾·ÅÔÚ CDATA ½ÚÖÐÀ´´¦ÀíÔªËØÄÚÈÝÖеÄÌØÊâ×Ö·û¡£ÏÂÃæµÄÄÚÈÝÊÇÕýÈ·µÄ£º
ÔÚ±¾Àý×ÓÖУ¬XML ¶ÔÏóÄ£Ðͽ« CDATA ½ÚµãÏÔʾ xml ½ÚµãµÄ×ӽڵ㣬Ëü½«·µ»Ø×Ö·û´®
This & that is just "text" content.
×÷Ϊ nodeValue¡£
ÈçºÎÔÚ Visual Studio 6.0 C++ ÖÐʹÓà MSXML COM ×é¼þ£¿
ÔÚ Visual C++ 6.0 ÖÐʹÓà MSXML COM ×é¼þµÄ×î¼ò±ã·½Ê½ÊÇʹÓà #import Ö¸Á
#import "msxml.dll" named_guids no_namespace#import "msxml.dll" named_guids no_namespace
Ëü¶¨ÒåÁËËùÓÐ IXML* ½Ó¿ÚºÍ½Ó¿Ú ID£¬´Ó¶ø¿ÉÒÔÔÚÓ¦ÓóÌÐòÖÐʹÓÃËüÃÇÁË¡£Ò²¿ÉÒÔ´Ó INETSDK »ñÈ¡ MSXML ÀàÐÍ¿âºÍÍ·Îļþ£¨Ó¢ÎÄ£©£¬ÒÔ¼°°üº¬Àà IIDs µÄ uuid.lib¡£
ÈçºÎÔÚ XML ÖÐʹÓà HTML ʵÌ壿
ÏÂÃæµÄ XML °üº¬ HTML ʵÌ壺
Copyright © 2000, Microsoft Inc, All rights reserved.
Ëü²úÉúÏÂÁдíÎó£º
ÒýÓÃ䶨ÒåµÄʵÌå 'copy'¡£
ÐУº 1, λÖãº23, ´íÎóÂ룺0xC00CE002
Copyright © 2000, ...
----------------------^
ÕâÊÇÒòΪ XML Ö»ÓÐÎå¸öÄÚÖÃʵÌå¡£¹ØÓÚÄÚÖÃʵÌåµÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄÈçºÎ¼ÓÔØÓÐÍâ¹úºÍÌØÊâ×Ö·ûµÄÎĵµ£¿¡£
ҪʹÓà HTML ʵÌ壬ÐèÒªÓà DTD ¶¨ÒåËüÃÇ¡£ÓÐ¹Ø DTD µÄÏêϸÐÅÏ¢£¬Çë²ÎÔÄ W3C XML ½¨Ò飨ӢÎÄ£©¡£ÒªÊ¹Óøà DTD£¬Ç뽫ËüÖ±½Ó°üÀ¨ÔÚ DOCTYPE ±ê¼ÇÖУ¬ÈçÏÂËùʾ£º
Copyright © 2000, Microsoft Inc, All rights reserved.
Òª¼ÓÔØËü£¬ÐèÒª¹Ø±Õ IXMLDOMDocument ½Ó¿ÚµÄ validateOnParse ÊôÐÔ¡£Çë³¢ÊÔ½«ËüÕ³Ìùµ½¡°Validator ²âÊÔÒ³¡±ÖУ¬¹Ø±Õ DTD ÑéÖ¤£¬È»ºóµ¥»÷¡°ÑéÖ¤¡±¡£Çë×¢ÒâÎĵµ½«¼ÓÔØ£¬²¢ÇÒ°æÈ¨×Ö·û½«ÏÔʾÔÚ validator Ò³ÃæµÄĩβµÄ DOM Ê÷ÖС£
Èç¹ûÒѾÍê³ÉÁË DTD ÑéÖ¤£¬ÄÇô±ØÐ뽫×÷Ϊ²ÎÊýʵÌåµÄ HTML ʵÌå°üÀ¨ÔÚÏÖÓÐµÄ DTD ÖУ¬ÈçÏÂËùʾ£º
%HTMLENT;
%HTMLENT;
Ëü½«¶¨ÒåËùÓÐ HTML ʵÌ壬ÒÔ±ãÔÚ XML ÎĵµÖÐʹÓÃËüÃÇ¡£
ÔÚÔªËØÄÚÈÝÖÐÈçºÎ´¦Àí¿Õ°××Ö·û£¿
XML DOM ÓÐÈýÖÖ·ÃÎÊÔªËØÎı¾ÄÚÈݵķ½Ê½£º
ÊôÐÔ ÐÐΪ
nodeValue °´ÕÕÔʼµÄ XML Ô´ÖÐÖ¸¶¨µÄÄÇÑù£¬·µ»Ø TEXT¡¢CDATA¡¢COMMENT ºÍ PI ½ÚµãÉϵÄÔʼÎı¾ÄÚÈÝ£¨°üÀ¨¿Õ°××Ö·û£©¡£¶ÔÓÚ ELEMENT ½ÚµãºÍ DOCUMENT ±¾Éí£¬Ôò·µ»Ø¿ÕÖµ¡£
Êý¾Ý Óë nodeValue Ïàͬ
Îı¾ ÖØ¸´Á¬½ÓÖ¸¶¨×ÓÊ÷ÖеĶà¸ö TEXT ºÍ CDATA ½Úµã²¢·µ»Ø×éºÏ½á¹û¡£
×¢Ò⣺ ¿Õ°××Ö·û°üÀ¨ÐÂÐС¢tab ºÍ¿Õ¸ñ¡£
nodeValue ÊôÐÔͨ³£·µ»ØÔʼÎĵµÖеÄÄÚÈÝ£¬ÓëÎĵµÈçºÎ¼ÓÔØºÍµ±Ç° xml:space ·¶Î§Î޹ء£
Îı¾ÊôÐÔÁ¬½ÓÖ¸¶¨×ÓÊ÷ÖеÄËùÓÐÎı¾²¢À©Õ¹ÊµÌå¡£ÕâÓëÎĵµÈçºÎ¼ÓÔØ¡¢preserveWhiteSpace ¿ª¹ØµÄµ±Ç°×´Ì¬ºÍµ±Ç° xml:space ·¶Î§Óйأ¬Çë¿´ÈçÏÂËùʾ£º
preserveWhiteSpace = true when the document is loaded preserveWhiteSpace=true preserveWhiteSpace=true preserveWhiteSpace=false preserveWhiteSpace=false
xml:space=preserve xml:space=default xml:space=preserve xml:space=default
±£Áô ±£Áô ±£Áô ±£Áô²¢½Ø¶Ï
preserveWhiteSpace = false when the document is loaded preserveWhiteSpace=true preserveWhiteSpace=true preserveWhiteSpace=false preserveWhiteSpace=false
xml:space=preserve xml:space=default xml:space=preserve xml:space=default
°ë±£Áô °ë±£Áô²¢½Ø¶Ï °ë±£Áô °ë±£Áô²¢½Ø¶Ï
´Ë´¦µÄ±£Áô±íʾºÍÔʼ XML ÎĵµÖÐÍêÈ«ÏàͬµÄÔʼÎı¾ÄÚÈÝ£¬½Ø¶ÏÒâζ×Åǰµ¼ºÍβ²¿¿Õ¸ñÒѾɾ³ý£¬°ë±£ÁôÒâζ×ű£ÁôÁË¡°ÖØÒªµÄ¿Õ°××Ö·û¡±²¢¹æ·¶»¯ÁË¡°²»ÖØÒªµÄ¿Õ°××Ö·û¡±¡£ÖØÒªµÄ¿Õ°××Ö·ûÊÇÎı¾ÄÚÈÝÄÚ²¿µÄ¿Õ°××Ö·û¡£²»ÖØÒªµÄ¿Õ°××Ö·ûÊDZê¼ÇÖ®¼äµÄ¿Õ°××Ö·û£¬Çë¿´ÈçÏÂËùʾ£º
\n
\t Jane\n
\tSmith \n
ÔÚ±¾Ê¾ÀýÖУ¬ºìÉ«ÊÇ¿ÉÒÔºöÂԵIJ»ÖØÒªµÄ¿Õ°××Ö·û£¬¶øÂÌÉ«ÊÇÖØÒªµÄ¿Õ°××Ö·û£¬ÒòΪËüÊÇÎı¾ÄÚÈݵÄÒ»²¿·Ö£¬Òò´ËÓв»¿ÉºöÂÔµÄÖØÒªº¬Òå¡£ËùÒÔÔÚ±¾ÀýÖУ¬Îı¾ÊôÐÔ·µ»ØÏÂÁнá¹û£º
״̬ ·µ»ØÖµ
±£Áô "\n\t Jane\n\tSmith \n"
±£Áô²¢½Ø¶Ï "Jane\n\tSmith"
°ë±£Áô " Jane Smith "
°ë±£Áô²¢½Ø¶Ï "Jane Smith"
Çë×¢Òâ¡°°ë±£Áô¡±½«¹æ·¶»¯²»ÖØÒªµÄ¿Õ°××Ö·û£¬ÀýÈ磬ÐÂÐÐºÍ tab ×Ö·û½«ÍË»¯Îªµ¥¸ö¿Õ¸ñ¡£Èç¹û¸ü¸Ä xml:space ÊôÐÔºÍ preserveWhiteSpace ¿ª¹Ø£¬ÄÇôÎı¾ÊôÐÔ½«·µ»ØÏàÓ¦µÄ²»Í¬Öµ¡£
CDATA and xml:space="preserve" subtree boundaries
ÔÚÏÂÃæµÄÀý×ÓÖУ¬CDATA ½Úµã»ò¡°±£Áô¡±½ÚµãµÄÄÚÈݽ«µÃµ½Á¬½Ó£¬ÔÒòÊÇËüÃDz»²ÎÓë²»ÖØÒªµÄ¿Õ°××Ö·û¹æ·¶»¯¡£ÀýÈ磺
\n
\t Jane \n
\t Smith ]>\n
ÔÚÕâÖÖÇé¿öÏ£¬CDATA ½ÚµãÄÚ²¿µÄ¿Õ°××Ö·û²»ÔÙÓë¡°²»ÖØÒª¡±¿Õ°××Ö·û¡°ºÏ²¢¡±£¬²¢ÇÒ²»»á½Ø¶Ï¡£Òò´Ë¡°°ë±£Áô²¢½Ø¶Ï¡±Çé¿ö½«·µ»ØÏÂÁÐÄÚÈÝ£º
"Jane Smith "
ÔÚ´Ë£¬ ºÍ ±ê¼ÇÖ®¼äµÄ²»ÖØÒªµÄ¿Õ°××Ö·û½«°üÀ¨ÔÚÄÚ£¬Óë CDATA ½ÚµãµÄÄÚÈÝÎ޹ء£Èç¹ûÓÃÏÂÁÐÄÚÈÝ´úÌæ CDATA£¬ÄÇô½«·µ»ØÏàͬ½á¹û£º
Smith
ʵÌåÊÇÌØÊâµÄ
ʵÌåÊÇ×÷Ϊ DTD µÄÒ»²¿·Ö¼ÓÔØºÍ·ÖÎöµÄ£¬²¢ÇÒÏÔʾÔÚ DOCTYPE ½ÚµãÏ¡£ËüÃDz»Ò»¶¨ÒªÓÐÈκΠxml:space ·¶Î§¡£ÀýÈ磺
Jane \n
\t\n
">
]>
&Jane;
¼Ù¶¨ preserveWhiteSpace=false£¨ÔÚ DOCTYPE ±ê¼Ç·¶Î§ÄÚ£©£¬ÔÚ·ÖÎöʵÌåʱ²»ÖØÒªµÄ¿Õ°××Ö·û¶ªÊ§¡£ÊµÌ彫²»»áÓпհ××Ö·û½Úµã¡£Ê÷½«ÀàËÆÓÚ£º
DOCTYPE foo
ENTITY: Jane
ELEMENT: employee
ELEMENT: name
TEXT: Jane
ELEMENT: title
TEXT>:Software Design Engineer
ELEMENT: foo
ATTRIBUTE: xml:space="preserve"
ENTITYREF: Jane
Çë×¢Ò⣬ÔÚ DOCTYPE ÄÚ²¿ ENTITY ½ÚµãÏÂÏÔ¶µÄ DOM Ê÷²»°üº¬ÈκΠWHITESPACE ½Úµã¡£ÕâÒâζ×Å ENTITYREF ½ÚµãµÄ×Ó½ÚµãҲûÓÐ WHITESPACE ½Úµã£¬¼´Ê¹ÊµÌåÒýÓÃÔÚ xml:space="preserve" µÄ·¶Î§ÄÚÒ²ÊÇÕâÑù¡£
¸ø¶¨ÎĵµÖÐÒýÓõÄÿ¸ö ENTITY µÄʵÀýͨ³£¶¼ÓÐÏàͬµÄÊ÷¡£
Èç¹ûʵÌ屨Ðë¾ø¶Ô±£Áô¿Õ°××Ö·û£¬ÄÇôËü±ØÐëÔÚ×Ô¼ºÄÚ²¿Ö¸¶¨×Ô¼ºµÄ xml:space ÊôÐÔ£¬»òÕßÎĵµ preserveWhiteSpace ¿ª¹Ø±ØÐëÉèÖÃΪ true¡£
ÈçºÎ´¦ÀíÊôÐÔÖеĿհ××Ö·û£¿
Óм¸ÖÖ·½Ê½¿ÉÒÔ·ÃÎÊÊôÐÔÖµ¡£IXMLDOMAttribute ½Ó¿ÚÓÐ nodeValue ÊôÐÔ£¬ËüµÈ¼ÛÓÚ×÷Ϊ Microsoft À©Õ¹µÄ nodeValue ºÍ text ÊôÐÔ¡£ÕâЩÊôÐÔ·µ»Ø£º ÊôÐÔ ·µ»ØµÄÎı¾
attrNode.nodeValue
attrNode.value
getAttribute("name") ·µ»ØºÍÔʼÎĵµÖÐÍêÈ«ÏàͬµÄÄÚÈÝ£¨ºÍÀ©Õ¹µÄʵÌ壩¡£
attrNode.nodeTypedValue Null
attrNode.text ³ýÁËǰµ¼ºÍβ²¿µÄ¿Õ°××Ö·ûÒѾ½Ø¶ÏÖ®Í⣬ÆäËûÓë nodeValue Ïàͬ¡£
¡°XML ÓïÑÔ¡±¹æ·¶Îª XML Ó¦ÓóÌÐò¶¨ÒåÁËÏÂÁÐÐÐΪ£º ÊôÐÔÀàÐÍ ·µ»ØµÄÎı¾
CDATA ID¡¢IDREF¡¢IDREFS¡¢ENTITY¡¢ENTITIES¡¢NOTATION¡¢Ã¶¾Ù
°ë¹æ·¶»¯ È«¹æ·¶»¯
ÔÚ´Ë°ë¹æ·¶»¯´ú±í½«ÐÂÐÐºÍ tab ×Ö·ûת»»Îª¿Õ¸ñ£¬µ«ÊǶà¸ö¿Õ¸ñ²»»áÍË»¯ÎªÒ»¸ö¿Õ¸ñ¡£
ÔÚ XML ¶ÔÏóÄ£ÐÍÖÐÈçºÎ´¦Àí¿Õ°××Ö·û£¿
ÓÐЩʱºò£¬XML ¶ÔÏóÄ£Ðͽ«ÏÔʾ°üº¬¿Õ°××Ö·ûµÄ TEXT ½Úµã¡£¿Õ°××Ö·û±»½Ø¶Ïºó£¬¶à°ë»á´øÀ´Ò»Ð©»ìÂÒ¡£ÀýÈçÏÂÃæµÄ XML Àý×Ó£º
]>
Smith
John
Éú³ÉÏÂÁÐÊ÷£º
Processing Instruction: xml
DocType: person
ELEMENT: person
TEXT:
ELEMENT: lastname
TEXT:
ELEMENT: firstname
TEXT:
Ãû×ÖºÍÐÕÊÏÁ½±ßÊÇÖ»°üº¬¿Õ°××Ö·ûµÄ TEXT ½Úµã£¬ÒòΪ¡°person¡±ÔªËصÄÄÚÈÝÄ£ÐÍÊÇ MIXED£»Ëü°üº¬ #PCDATA ¹Ø¼ü×Ö¡£MIXED ÄÚÈÝÄ£ÐÍÖ¸¶¨ÔªËØÖ®¼ä¿ÉÒÔÓÐÎı¾´æÔÚ¡£Òò´Ë£¬ÏÂÃæµÄÄÚÈÝÒ²ÊÇÕýÈ·µÄ£º
My last name is Smith and my first name is
John
½á¹ûÊÇÀàËÆÓÚÏÂÃæµÄÊ÷£º
ELEMENT: person
TEXT: My last name is
ELEMENT: lastname
TEXT: and my first name is
ELEMENT: firstname
TEXT:
Èç¹ûûÓе¥´Ê¡°is¡±Ö®ºóºÍ ֮ǰµÄ¿Õ°××Ö·û£¬ÒÔ¼° Ö®ºóºÍµ¥´Ê¡°and¡±Ö®Ç°µÄ¿Õ°××Ö·û£¬ÄÇô¾ä×Ó±ãÎÞ·¨Àí½â¡£Òò´Ë£¬¶ÔÓÚ MIXED ÄÚÈÝÄ£ÐÍÀ´Ëµ£¬ÎÄ×Ö×éºÏ¡¢¿Õ°××Ö·ûºÍÔªËØ¶¼ÊÇÏà¹ØµÄ¡£¶ÔÓÚ·Ç MIXED ÄÚÈÝÄ£ÐÍÀ´ËµÔò²»ÊÇÕâÑù¡£
ҪʹֻÓпհ××Ö·ûµÄ TEXT ½ÚµãÏûʧ£¬Çë´Ó¡°person¡±ÔªËØÉùÃ÷ÖÐɾ³ý #PCDATA ¹Ø¼ü×Ö£º
½á¹ûÊÇÏÂÃæÇåÎúµÄÊ÷£º
Processing Instruction: xml
DocType: person
ELEMENT: person
ELEMENT: lastname
ELEMENT: firstname
XML ÉùÃ÷×öʲô£¿
XML ÉùÃ÷±ØÐëÁÐÔÚ XML ÎĵµµÄ¶¥²¿£º
ËüÖ¸¶¨ÏÂÃæµÄÏîÄ¿£º
¸ÃÎĵµÊÇ XML Îĵµ¡£ÔÚ¶ªÊ§»òÕß»¹Ã»ÓÐÖ¸¶¨ MIME ÀàÐÍʱ MIME ̽²âÆ÷¿ÉÒÔÓÃËüÀ´¼ì²âÎļþÊÇ·ñΪÀàÐÍ text/xml¡£
Îĵµ·ûºÏ XML 1.0 ¹æ·¶¡£ÔÚÒÔºó XML ÓÐÆäËû°æ±¾Ê±ÕâÒ»µãºÜÖØÒª¡£
Îĵµ×Ö·û±àÂë¡£±àÂëÊôÐÔÊÇ¿ÉÑ¡µÄ£¬Ä¬ÈÏΪ UTF-8¡£
×¢Ò⣺XML ÉùÃ÷±ØÐëÔÚ XML ÎĵµµÄµÚÒ»ÐУ¬Òò´ËÏÂÃæµÄ XML Îļþ£º
²úÉúÏÂÃæµÄ·ÖÎö´íÎó£º
ÎÞЧµÄ xml ÉùÃ÷¡£
ÐÐ 0000002:
λÖà 0000007: ------^
×¢Ò⣺XML ÉùÃ÷ÊÇ¿ÉÑ¡µÄ¡£Èç¹ûÐèÒªÔÚ¶¥²¿Ö¸¶¨×¢ÊÍ»òÕß´¦ÀíÖ¸ÁÄÇôÇë²»Òª·ÅÈë XML ÉùÃ÷¡£µ«ÊÇ£¬Ä¬ÈϵıàÂ뽫Ϊ UTF-8¡£
ÈçºÎÒԿɶÁ¸ñʽ´òÓ¡ÎÒµÄ XML Îĵµ£¿
ÔÚÓà DOM ´ÓÁ㿪ʼ¹¹ÔìÎĵµÒÔ²úÉú XML Îļþʱ£¬ÈκÎÄÚÈݶ¼ÔÚÒ»ÐÐÉÏ£¬Ï໥֮¼äûÓпոñ¡£ÕâÊÇĬÈϵÄÐÐΪ¡£
¹¹ÔìÔÚ Internet Explorer 5 ÖеÄĬÈÏ XSL Ñùʽ±í£¬ÒԿɶÁ¸ñʽÏÔʾºÍ´òÓ¡ XML Îĵµ¡£ÀýÈ磬Èç¹ûÒѾ°²×°ÁË IE5£¬Çë³¢ÊԲ鿴 nospace.xml Îļþ¡£ä¯ÀÀÆ÷ÖÐÓ¦¸ÃÏÔʾÏÂÃæµÄÊ÷£º
-
-
XYZ
12.56
ÔÚ XML ÖÐûÓвåÈë¿Õ°××Ö·û¡£
´òÓ¡¿É¶Á XML ÊǷdz£ÓÐȤµÄ£¬ÌرðÊÇÓж¨Ò岻ͬÀàÐÍÄÚÈÝÄ£Ð굀 DTD ʱ¡£ÀýÈ磬ÔÚ»ìºÏÄÚÈÝÄ£ÐÍ (#PCDATA) ϲ»ÄܲåÈë¿Õ¸ñ£¬ÒòΪËü¿ÉÄܸıäÄÚÈݵĺ¬Òå¡£±ÈÈçÇ뿼ÂÇÏÂÃæµÄ XML£º
Elephant
Õâ×îºÃ²»Êä³öΪ£º
E
lephant
ÒòΪµ¥´Ê±ß½ç²»ÔÙÕýÈ·¡£
ËùÓÐÕâЩ¶¼Ê¹×Ô¶¯»¯´òÓ¡³ÉΪÎÊÌâ¡£Èç¹û²»ÐèÒª´òÓ¡¿É¶Á XML£¬ÄÇô¿ÉÒÔʹÓà DOM ÔÚÊʵ±µÄλÖòåÈë¿Õ°××Ö·û×÷ΪÎı¾½Úµã¡£
ÈçºÎÔÚ DTD ÖÐʹÓÃÃû³Æ¿Õ¼ä£¿ ÒªÔÚ DTD ÖÐʹÓÃÃû³Æ¿Õ¼ä£¬ÇëÔÚʹÓÃËüµÄÔªËØµÄ ATTLIST ÉùÃ÷ÖÐÉùÃ÷Ëü£¬ÈçÏÂËùʾ£º
Ãû³Æ¿Õ¼äÀàÐͱØÐëΪ #FIXED¡£ÊôÐÔµÄÃû³Æ¿Õ¼äÒ²ÊÇÕâÑù£º
Ãû³Æ¿Õ¼äºÍ XML ¼Ü¹¹
DTD ºÍ XML ¼Ü¹¹²»ÄÜ»ìºÏ¡£ÀýÈ磬ÏÂÃæµÄ
xmlns:x CDATA #FIXED "x-schema:myschema.xml"
½«²»µ¼ÖÂʹÓÃÔÚ myschema.xml Öж¨ÒåµÄ¼Ü¹¹¶¨Òå¡£¶Ô DTD ºÍ XML ¼Ü¹¹µÄʹÓÃÊÇ»¥³âµÄ¡£
ÈçºÎÔÚ Visual Basic ÖÐʹÓà XMLDSO£¿
ʹÓÃÏÂÃæµÄ XML ×÷ΪÀý×Ó£º
Mark Hanson
206 765 4583
Jane Smith
425 808 1111
¿ÉÒÔ°´ÈçÏ·½Ê½°ó¶¨µ½ ADO ¼Ç¼¼¯£º
´´½¨Ð嵀 VB 6.0 ÏîÄ¿¡£
Ìí¼Ó¶Ô Microsoft ActiveX Data Objects 2.1 »ò¸ü¸ß°æ±¾¡¢Microsoft Data Adapter Library ºÍ Microsoft XML 2.0 °æµÄÒýÓá£
ÓÃÏÂÃæµÄ´úÂ뽫 XML Êý¾Ý¼ÓÔØµ½ XML DSO ¿Ø¼þÖУº
Dim dso As New XMLDSOControl
Dim doc As IXMLDOMDocument
Set doc = dso.XMLDocument
doc.Load ("d:\test.xml")
ÓÃÏÂÃæµÄ´úÂ뽫 DSO Ó³É䵽ʹÓà DataAdapter µÄмǼ¼¯¶ÔÏóÖУº
Dim da As New DataAdapter
Set da.Object = dso
Dim rs As New ADODB.Recordset
Set rs.DataSource = da
·ÃÎÊÊý¾Ý£º
MsgBox rs.Fields("name").Value
½á¹ûÏÔʾ×Ö·û´®¡°Mark Hanson¡±
ÈçºÎÔÚ Java ÖÐʹÓà XML DOM£¿
±ØÐëÒѾ°²×° MSXML.DLL µÄ IE5 °æ±¾¡£ÔÚ Visual J++ 6.0 ÖУ¬´ÓÏîÄ¿²Ëµ¥Ñ¡ÔñÌí¼Ó COM °ü×°³ÌÐò£¬È»ºó´Ó COM ¶ÔÏóÁбíÖÐÑ¡Ôñ¡°Microsoft XML 1.0¡±¡£¸Ã²Ù×÷½«°ÑËùÐèµÄ Java °ü×°³ÌÐò¹¹Ôìµ½³ÆÎª¡°msxml¡±µÄÐÂÈí¼þ°üÖС£ÕâЩԤÏȹ¹ÔìµÄ Java °ü×°³ÌÐòÒ²¿ÉÒÔÏÂÔØ¡£Àà¿ÉÒÔ°´ÈçÏ·½·¨Ê¹Óãº
import com.ms.com.*;
import msxml.*;
public class Class1
{
public static void main (String[] args)
{
DOMDocument doc = new DOMDocument();
doc.load(new Variant("file://d:/samples/ot.xml"));
System.out.println("Loaded " + doc.getDocumentElement().getNodeName());
}
}
´úÂëʾÀý½«´Ó sun religion ʾÀýÖмÓÔØ 3.8MB ²âÊÔÎļþ¡°ot.xml¡±¡£Variant ÀàÓÃÓÚ°ü×° Win32 VARIANT »ù±¾ÀàÐÍ¡£
ÒòΪÔÚÿ´Î¼ìË÷½Úµãʱʵ¼ÊÉ϶¼»ñµÃÁËеİü×°³ÌÐò£¬Òò´Ë²»ÄÜÔÚ½ÚµãÉÏʹÓÃÖ¸Õë±È½Ï¡£Òò´Ë£¬²»ÒªÊ¹ÓÃÏÂÃæµÄ´úÂ룬
IXMLDOMNode root1 = doc.getDocumentElement();
IXMLDOMNode root2 = doc.getDocumentElement();
if (root1 == root2)...
¶øÒªÊ¹ÓÃÏÂÃæµÄ´úÂ룺
if (ComLib.isEqualUnknown(root1, root2)) ....
.class °ü×°³ÌÐòµÄ×Ü´óС´óԼΪ 160KB¡£µ«ÊÇ£¬ÎªÁËÓë W3C ¹æ·¶ÍêÈ«·ûºÏ£¬Ó¦¸ÃֻʹÓà IXMLDOM* °ü×°³ÌÐò¡£ÏÂÃæµÄÀàÊÇ¾ÉµÄ IE 4.0 XML ½Ó¿Ú£¬¿ÉÒÔ´Ó msxml Îļþ¼ÐÖÐɾ³ýËüÃÇ£º
IXMLAttribute*,
IXMLDocument*, XMLDocument*
IXMLElement*,
IXMLError*,
IXMLElementCollection*,
tagXMLEMEM_TYPE*
_xml_error*
Õâʹ´óС¼õÉÙΪ 147KB¡£Í¬Ê±»¹¿ÉÒÔɾ³ýÏÂÃæµÄÏîÄ¿£º
DOMFreeThreadedDocument
ÔÚ Java Ó¦ÓóÌÐòÖдӶà¸öÏ̷߳ÃÎÊ XML Îĵµ¡£
XMLHttpRequest
Óà XML DAV HTTP À©Õ¹Óë·þÎñÆ÷ͨÐÅ¡£
IXTLRuntime
¶¨Òå XSL Ñùʽ±í½Å±¾¶ÔÏó¡£
XMLDSOControl
°ó¶¨µ½ HTML Ò³ÃæÖÐµÄ XML Êý¾Ý¡£
XMLDOMDocumentEvents
ÔÚ·ÖÎö¹ý³ÌÖзµ»Ø»Øµ÷¡£
Õâ¿ÉÒÔ½«´óС¼õÉÙµ½ 116KB¡£ÒªÊ¹Ëü¸üС£¬Ç뿼ÂÇ DOM ±¾ÉíÓÐÁ½²ãµÄÊÂʵ£ººËÐIJã°üÀ¨£º
DOMDocument, IXMLDOMDocument
IXMLDOMNode*
IXMLDOMNodeList*
IXMLDOMNamedNodeMap*
IXMLDOMDocumentFragment*
IXMLDOMImplementation
IXMLDOMParseError
ºÍÓû§¿ÉÄÜÐèÒª±£ÁôµÄ DTD ÐÅÏ¢£º
IXMLDOMDocumentType
IXMLDOMEntity
IXMLDOMNotation
XML ÎĵµÖеÄËùÓнڵãÀàÐͶ¼ÊÇ IXMLDOMNode£¬ËüÌṩȫ²¿¹¦ÄÜ£¬µ«ÊÇ´æÔÚÿÖÖ½ÚµãÀàÐ͵ĸü¸ß¼¶±ðµÄ°ü×°³ÌÐò¡£Òò´Ë£¬Èç¹ûÐÞ¸Ä DOMDocument °ü×°³ÌÐò²¢½«ÕâÐ©ÌØ¶¨ÀàÐ͸ü¸ÄΪʹÓà IXMLDOMNode£¬ÄÇôËùÓÐÏÂÃæµÄ½Ó¿Ú¶¼¿ÉÒÔɾ³ý£º
IXMLDOMAttribute
IXMLDOMCDATASection
IXMLDOMCharacterData
IXMLDOMComment
IXMLDOMElement
IXMLDOMProcessingInstruction
IXMLDOMEntityReference
IXMLDOMText
ɾ³ýÕâЩ½«Ê¹´óС¼õÉÙµ½ 61KB¡£µ«ÊÇ£¬¶Ô IXMLDOMElement À´Ëµ£¬getAttribute ºÍ setAttribute ·½·¨¶¼ÊÇÓÐÓõġ£·ñÔòÐèҪʹÓãº
IXMLDOMNode.getAttributes().setNamedItem(...)

