¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»ÖãºASP¼¼ÊõÊ×Ò³ >> ×é¼þ¿ª·¢ >> XML Êý¾ÝµÄ±àÂ뷽ʽ

XML Êý¾ÝµÄ±àÂ뷽ʽ

2006-07-15 08:00:00  ×÷Õߣº  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º0  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£º¡¡¡¡Ä¿Â¼ 1¡¢¿çƽ̨Êý¾Ý¸ñʽ 2¡¢XML ºÍ×Ö·û±àÂë 3¡¢×Ö·û¼¯ºÍ MSXML DOM 4¡¢Óà MSXML ´´½¨Ð嵀 XML Îĵµ 5¡¢½áÂÛ 6¡¢ÓйØÏêϸÐÅÏ¢ ---------------------------------------------------------------------------...
¹Ø¼ü×Ö£º±àÂë ·½Ê½ Êý¾Ý XML

¡¡¡¡Ä¿Â¼

1¡¢¿çƽ̨Êý¾Ý¸ñʽ

2¡¢XML ºÍ×Ö·û±àÂë

3¡¢×Ö·û¼¯ºÍ MSXML DOM

4¡¢Óà MSXML ´´½¨Ð嵀 XML Îĵµ

5¡¢½áÂÛ

6¡¢ÓйØÏêϸÐÅÏ¢

--------------------------------------------------------------------------------

ÕªÒª£º±¾ÎĽéÉÜÁË×Ö·û±àÂëµÄ¹¤×÷Ô­Àí£¬ÌØ±ðÊÇÔÚ XML ºÍ MSXML DOM ÖеŤ×÷Ô­Àí¡£

½üÀ´ºÜ¶àÈËÎÊÎÒ£¬ÈçºÎʹ XML ÎļþÔÚ²»Í¬µÄƽ̨¼äÕýÈ·µØ´«µÝÊý¾Ý¡£ËûÃÇ´´½¨ÁË XML Îĵµ£¬¼üÈëÁËÊý¾Ý£¬Õ³ÉÏÁ˼¸¸ö±ê¼Ç£¬µ÷ÕûÁ˱ê¼ÇµÄ¸ñʽ£¬ÉõÖÁ·ÅÈëÁË ÉùÃ÷£¬×÷Ϊ¶îÍâÔöÌí¡£È»ºóËûÃÇÊÔ×Å×°ÔØËü£¬¿ÉµÃµ½µÄÈ´ÊÇÒâÏë²»µ½µÄ³ö´íÏûÏ¢£¬Microsoft(R) XML Parser (MSXML) ±¨¸æËµÊý¾ÝÓÐÎÊÌâ¡£¶Ô³õ±à XML ÕßÀ´Ëµ£¬ÕâÕæÁîÈ˾ÚÉ¥¡£ÄѵÀËü¾¹²»ÄÜÕý³£¹¤×÷Âð£¿

µ±È»²»ÊÇ¡£µ±´Ó MSXML ÊÕµ½ÒâÏë²»µ½µÄ³ö´íÏûϢʱ£¬ºÜ¿ÉÄÜÊÇÒòΪ½ÓÊÕÊý¾ÝµÄƽ̨½«Æä´æ´¢µ½ÁËÓë·¢ËÍÊý¾Ý²»Í¬µÄƽ̨ÉÏ£¬½á¹ûµ¼ÖÂÁË×Ö·û±àÂëÎÊÌâ¡£

¿çƽ̨Êý¾Ý¸ñʽ

×Ô´Ó¼ÆËã»úÈí¼þºÍÓ²¼þ´ÓÒµÈËÔ±Éè·¨½«Á½Ì¨¼ÆËã»úÁ¬½Óµ½Ò»ÆðÒÔÀ´£¬ËûÃǾÍÒ»Ö±Ïò×Å´´½¨¿çƽ̨¼¼Êõ²¢Ê¹²»Í¬µÄƽ̨Äܹ»¹²ÏíÊý¾ÝµÄÁìÓò¶øÅ¬Á¦·Ü¶·¡£ºÜÔçÒÔÀ´£¬ÓÉÓÚ²»Í¬ÀàÐ͵ļÆËã»úµÄÊýÁ¿¡¢Á¬½Ó·½Ê½¡¢Ï£Íû¹²ÏíµÄÊý¾ÝÖÖÀàµÄ¼±¾çÔö¼Ó£¬ÊÂ̬Ҳ¾Í±äµÃÔ½À´Ô½¸´ÔÓ¡£

¾­¹ý¼¸Ê®Äê¹ØÓÚ¿çÆ½Ì¨±à³Ì¼¼ÊõµÄÑо¿£¬µ±½ñ£¨¶øÇÒ¿ÉÄÜÔÚδÀ´µÄºÜ³¤Ò»¶ÎʱÆÚÄÚ£©Î¨Ò»µÄÕæÕý¿çƽ̨½â¾ö·½°¸ÊÇͨ¹ý¼òµ¥µÄ±ê×¼Êý¾Ý¸ñʽµÃµ½µÄ¡£Web µÄ³É¹¦ÕýÊǽ¨Á¢ÔÚÕâÖÖ¸ñʽÉϵġ£ÔÚ Web ·þÎñÆ÷ºÍ Web ä¯ÀÀÆ÷Ö®¼ä´«µÝµÄÖ÷ÒªÄÚÈÝÊÇ HTTP ±êÌâºÍ HTML Ò³£¬Á½Õß¶¼ÊDZê×¼µÄÎı¾¸ñʽ¡£

ÔÚÒÔϼ¸½ÚÖУ¬ÎÒ½«ÌÖÂÛ×Ö·û±àÂëºÍ±ê×¼×Ö·û¼¯¡¢Unicode¡¢HTML Content-Type ±êÌâ¡¢HTML Content-Type Ôª±ê¼ÇºÍ×Ö·ûʵÌå¡£Èç¹ûÄúÊìϤÉÏÊö¸ÅÄ¿ÉÌø¹ýÕâЩÄÚÈÝÈ¥¶Á encoding XML data for the XML Document Object Model (DOM) programmer£¨Õë¶Ô XML Îĵµ¶ÔÏóÄ£ÐÍ (DOM) ±à³ÌÈËÔ±µÄ±àÂë XML Êý¾Ý£©µÄÌáʾºÍ¼¼ÇÉ¡£ÓйØÏêϸÐÅÏ¢£¬Çë²ÎÔÄ XML and Character Encoding£¨XML ºÍ×Ö·û±àÂ룩¡£

¹ØÓÚ×Ö·û±àÂë

±ê×¼Îı¾¸ñʽÊǽ¨Á¢ÔÚ±ê×¼×Ö·û¼¯Ö®Éϵġ£Òª¼Çס£¬ËùÓеļÆËã»ú¾ù½«Îı¾´æ´¢ÎªÊý×Ö¡£È»¶ø£¬²»Í¬µÄϵͳҲ¿ÉÒÔÓò»Í¬µÄÊý×Ö´æ´¢ÏàͬµÄÎı¾¡£Ï±íÏÔʾÁËÒ»×é×Ö½ÚÊÇÈçºÎ±»´æ´¢µÄ£¬µÚÒ»¸öÊÇʹÓÃĬÈÏ´úÂëÒ³ 1252¡¢ÔËÐÐ Microsoft Windows(R) µÄµäÐͼÆËã»ú£¬µÚ¶þ¸öÊÇʹÓà Macintosh Roman ´úÂëÒ³µÄµäÐÍ Apple(R) Macintosh(R) ¼ÆËã»ú¡£

Byte Windows Macintosh

140 R å

229 å Â

231 ç Á

232 ¨¨ Ë

233 ¨¦ È

±È·½Ëµ£¬Èç¹ûÄúµÄ׿ď´Ó http://www.barnesandnoble.com/£¨Ó¢ÎÄ£©¶©¹ºÁËÒ»±¾ÐÂÊ飬Ëý²»»áÏëµ½ËýµÄ Macintosh ¼ÆËã»ú´æ´¢×Ö·ûµÄ·½Ê½£¬²¢²»Í¬ÓÚÔËÐÐ www.barnesandnoble.com£¨Ó¢ÎÄ£©µÄРWindows 2000 Web ·þÎñÆ÷¡£ÔÚÍù Internet ¶©¹ºµ¥µÄ·¢»õÀ¸ÖÐÊäÈëÈðµä¼ÒÖеĵØÖ·Ê±£¬ËýÏàÐÅ Internet »áÕýÈ·µØ´«µÝ×Ö·û 壨ÔÚÆä Macintosh ÉϵÄ×Ö½ÚÖµÊÇ 140£©£¬²¢Ã»Ïëµ½½ÓÊպʹ¦ÀíËý·¢ËÍÏûÏ¢µÄ¼ÆËã»ú»á½«×Ö½ÚÖµ 140 ת»»Îª×Öĸ R¡£

Unicode

Unicode Consortium£¨Í³Ò»ÂëЭ»á£©È·ÐÅ£¨ÓÃË«×Ö½Ú¶ø²»Êǵ¥×Ö½Ú±íʾÿ¸ö×Ö·û£©¶¨ÒåÒ»¸öͨÓõĴúÂëÒ³ÊǸöºÃÖ÷Ò⣬¸Ã´úÂëÒ³ÊÊÓÃÓÚÈ«ÊÀ½çËùÓеÄÓïÑÔ£¬´Ó¶ø²»Í¬´úÂëÒ³Ö®¼äµÄÓ³ÉäÎÊÌ⽫²»¸´´æÔÚ¡£

¼ÈÈ»Èç´Ë£¬Èç¹û Unicode ½â¾öÁË¿çÆ½Ì¨µÄ×Ö·û±àÂëÎÊÌ⣬ÄÇΪºÎËüȴδ³ÉΪΨһµÄ±ê׼Ĩ£¿µÚÒ»¸öÎÊÌâÊÇ£¬×ª»»µ½ Unicode ÓÐʱÒâζ×ÅʹËùÓеÄÎļþ´óС¼Ó±¶ ¡ª ÕâÑù×öÔÚÍøÂçÊÀ½çÖÐÊDz»¿ÉÏëÏóµÄ¡£Òò´ËÓÐÈËÈÔÀÖÓÚʹÓÃÀϵġ¢µ¥×Ö½ÚµÄ×Ö·û¼¯£¬Èç ISO-8859-1 µ½ ISO-8859-15¡¢Shift-JIS¡¢EUC-KR µÈµÈ¡£

µÚ¶þ¸öÎÊÌâÊÇ£¬ÈÔ´æÔÚÐí¶à²¢·Ç»ùÓÚ Unicode µÄϵͳ£¬Õâ¾ÍÒâζ×ÅÔÚÍøÂçÉÏ£¬Ä³Ð©×é³É Unicode ×Ö·ûµÄ×Ö½ÚÖµ¿ÉÄÜ»á¸øÄÇЩ¸ü¾ÉµÄϵͳÔì³ÉÑÏÖØÎÊÌâ¡£Òò´Ë¶¨ÒåÁË¡°Unicode ת»»¸ñʽ (UTF)¡±£»ËüÃÇÔËÓÃλת»»¼¼Êõ¶Ô Unicode ×Ö·û½øÐбàÂ룬ʹÆä³ÉΪÔÚÀÏϵͳÉÏ¡°Í¸Ã÷µÄ¡±£¨»ò¿É°²È«Í¨¹ý£©µÄ×Ö½ÚÖµ¡£

´ËÀà×Ö·û±àÂëÖÐ×îÆÕ¼°µÄÊÇ UTF-8¡£UTF-8 ²ÉÓà Unicode ±ê×¼µÄǰ 127 ¸ö×Ö·û£¨ËüÃÇÇ¡ºÃÊÇ»ù±¾µÄÀ­¶¡ÎÄ×Ö·û£ºA-Z¡¢a-z ºÍ 0-9£¬ÒÔ¼°¼¸¸ö±êµã×Ö·û£©£¬²¢Ö±½Ó½«ÆäÓ³Éäµ½µ¥×Ö½ÚÖµ¡£È»ºó²ÉÓÃλת»»¼¼Êõ£¬ÓÃ×ֽڵĸßλÀ´±àÂë Unicode ×Ö·ûµÄÆäÓಿ·Ö¡£ÕâÑù×öµÄ½á¹ûÊÇ£¬Ð¡Èðµä×Ö·û å (0xE5) ±ä³ÉÁËÏÂÁÐË«×Ö½ÚÂÒÂ룺å (0xC3 0xA5)¡£ËùÒÔ£¬³ý·ÇÄúÄܹ»ÔÚÄÔº£Àï½øÐÐλת»»£¬·ñÔò£¬ÔÚUTF-8 ÖбàÂëµÄÊý¾ÝÊÇÎÞ·¨±»È˶Á¶®µÄ¡£

Content-Type ±êÌâ

ÒòΪ¸ü¾ÉµÄµ¥×Ö½Ú×Ö·û¼¯ÈÔ±»Ê¹Óã¬ËùÒÔÖ»Óе±Ö¸¶¨ÁËÊý¾ÝËùÔÚµÄʵ¼Ê×Ö·û¼¯Ö®ºó£¬´«ÊäÊý¾ÝµÄÎÊÌâ²ÅÄܵÃÒÔ½â¾ö¡£ÈÏʶµ½ÕâÒ»µãºó£¬Internet µç×ÓÓʼþºÍ HTTP ЭÒéС×鶨ÒåÁËÒ»ÖÖ±ê×¼·½·¨£¬ÓÃÒÔÔÚÏûÏ¢±êÌâ Content-Type ÊôÐÔÖÐÖ¸¶¨×Ö·û¼¯¡£¸ÃÊôÐÔ´Ó×¢²áµÄ×Ö·û¼¯Ãû³ÆÁбíÖÐÖ¸¶¨Ò»¸ö×Ö·û¼¯£¬¸Ã×Ö·û¼¯Ãû³ÆÊÇÓÉ Internet Assigned Numbers Authority (IANA)¶¨ÒåµÄ¡£µäÐ굀 HTTP ±êÌâ¶¼¿ÉÄܰüº¬ÏÂÁÐÎı¾£º

HTTP/1.1 200 OK

Content-Length: 15327

Content-Type: text/html; charset:ISO-8859-1;

Server: Microsoft-IIS/5.0

Content-Location: http://www.microsoft.com/Default.htm

Date: Wed, 08 Dec 1999 00:55:26 GMT

Last-Modified: Mon, 06 Dec 1999 22:56:30 GMT

¸Ã±êÌâÏòÓ¦ÓóÌÐò±íÃ÷£¬¸úÔÚ±êÌâºóÃæµÄÄÚÈÝλÓÚ ISO-8859-1 ×Ö·û¼¯ÖС£

Content-Type Ôª±ê¼Ç

Content-Type ÊôÐÔÊÇ¿ÉÑ¡ÏÔÚÓÐЩӦÓóÌÐòÖУ¬HTTP ±êÌâµÄÐÅÏ¢±»È¥µôÁË£¬¶øÖ»ÓÐ HTML ±¾Éíͨ¹ý¡£ÎªÁ˲¹¾ÈÕâÒ»µã£¬HTML ±ê׼С×鶨ÒåÁËÒ»ÖÖ¿ÉÑ¡µÄÔª±ê¼Ç·½·¨£¬ÓÃÓÚÖ¸¶¨ HTML Îĵµ±¾ÉíµÄ×Ö·û¼¯£¬Ê¹ HTML Îĵµ×Ö·û¼¯ÊÇ×ÔÃèÊöµÄ¡£

ÔÚÕâÖÖÇé¿öÏ£¬×Ö·û¼¯ ISO-8859-1 ˵Ã÷ÔÚ´ËÌØ¶¨µÄ HTML Ò³ÖУ¬×Ö½ÚÖµ 229 ±íʾ å¡£ÏÖÔÚ¸ÃÒ³¶ÔÈκÎϵͳÀ´Ëµ£¬¶¼ÊÇÍêÈ«Çå³þµÄ£¬Êý¾Ý²»»á±»Çú½â¡£Òź¶µÄÊÇ£¬ÓÉÓÚ´ËÔª±ê¼ÇÊÇ¿ÉÑ¡µÄ£¬ËùÒÔËü¸ø´íÎóÁôÏÂÁË¿Õ×Ó¡£

×Ö·ûʵÌå

²»ÊÇËùÓеÄϵͳ֧³ÖËùÓеÄ×¢²á×Ö·û¼¯¡£ÀýÈ磬ÎÒ²¢²»ÈÏΪºÜ¶àƽ̨ʵ¼ÊÉÏ¿ÉÖ§³Ö³ÆÎª EBCDIC µÄ IBM Ö÷»ú×Ö·û¼¯¡£Windows NT ÊÇÖ§³ÖµÄ£¬µ«Ðí¶àÆäËûϵͳºÜ¿ÉÄܲ»Ö§³Ö ¡ª Õâ´ó¸Å¾ÍÊÇ http://www.ibm.com£¨Ó¢ÎÄ£©Ö÷ҳΪʲôÉú³É ASCII µÄÔ­Òò¡£

×÷Ϊ±¸Ñ¡·½°¸£¬HTML ÔÊÐíͨ¹ýÖ¸¶¨È·ÇÐµÄ Unicode ×Ö·ûÖµ£¬¶Ô¸ÃÒ³Öеĵ¥¸ö×Ö·û½øÐбàÂ롣Ȼºó½«ÕâЩ×Ö·ûʵÌå½øÐÐÍÑÀë×Ö·û¼¯µÄ·ÖÎö£¬¼´¿ÉÈ·ÇеØÈ·¶¨Æä Unicode Öµ¡£ËüµÄÓï·¨ÊÇ ?amp;#229;?or ?amp;#xE5;?¡£

XML ºÍ×Ö·û±àÂë

XML ´Ó HTML ÄÇÀï½è¼øÁËÕâЩ˼Ï룬²¢Ê¹Ö®¸ü½øÒ»²½£¬¶¨ÒåÁËÒ»¸ö³¹µ×Ã÷È·µÄËã·¨£¬ÒÔÈ·¶¨±àÂëʹÓõÄ×Ö·û¼¯¡£ÔÚ XML ÖУ¬ÓÉ XML ÉùÃ÷ÖеĿÉÑ¡±àÂëÊôÐÔ¶¨Òå×Ö·û±àÂë¡£ÏÂÁÐË㷨ȷ¶¨Ä¬ÈϵıàÂ룺

Èç¹ûÎļþÒÔ Unicode ×Ö½Ú´ÎÐò±êÖ¾ [0xFF 0xFE] »ò [0xFE 0xFF] ¿ªÍ·£¬ÔòÈÏΪ¸ÃÎĵµÊÇÔÚ UTF-16 ±àÂëÖС£·ñÔò£¬ËüÔÚ UTF-8 ÖС£

ÒÔÏÂÊÇËùÓÐÕýÈ·ºÍµÈЧµÄ XML Îĵµ£º

×Ö·û¼¯»ò±àÂë HTTP ±êÌâ XML Îĵµ

ISO-8859-1 Content-Type: text/xml; charset:ISO-8859-1; ålt;/test>

UTF-8 Content-Type: text/xml; å

ISO-8859-1 Content-Type: text/xml;

ålt;/test>

UTF-8£¨ÓÃ×Ö·ûʵÌ壩 Content-Type: text/xml; å

UTF-16£¨´ø×Ö½Ú´ÎÐò±êÖ¾µÄ Unicode£© Content-Type: text/xml; ff fe 3c 00 74 00 65 00 73 00 74 00 3e 00 e5 00 ..<.t.e.s.t.>...

3c 00 2f 00 74 00 65 00 73 00 74 00 3e 00 0d 00 <./.t.e.s.t.>...

0a 00

×Ö·û¼¯ºÍ MSXML DOM

ÏÖÔÚ£¬ÌÖÂÛ¹ý²»Í¬µÄ×Ö·û±àÂë·½·¨Ö®ºó£¬ÈÃÎÒÃÇÀ´¿´¿´ÈçºÎÔÚ MSXML DOM ÖмÓÔØ XML Îĵµ£¬ÒÔ¼°µ±Åöµ½Ä£ºý±àÂëµÄ×Ö·ûʱ£¬¿ÉÄÜÊÕµ½µÄ³ö´íÏûÏ¢µÄÀàÐÍ¡£¼ÓÔØ XML DOM ÎĵµµÄÁ½¸öÖ÷Òª·½·¨ÊÇ LoadXML ·½·¨ºÍ Load ·½·¨¡£

LoadXML ·½·¨×ÜÊDzÉÓÃÖ»ÔÚ UCS-2 »ò UTF-16 ÖбàÂëµÄ Unicode BSTR¡£Èç¹û½«·ÇÓÐЧµÄ Unicode BSTR µÄÄÚÈÝ´«µÝ¸ø LoadXML£¬Ôò¼ÓÔØ»áʧ°Ü¡£

Load ·½·¨¿É½«ÒÔÏÂÄÚÈݵ±×÷ VARIANT£º

Value Description

URL Èç¹û VARIANT ÊÇ BSTR£¬Ôò½«ÆäÀí½âΪ URL¡£

VT_ARRAY | VT_UI1 VARIANT Ò²¿ÉÒÔÊǰüº¬Ô­Ê¼±àÂë×Ö½ÚµÄ SAFEARRAY¡£

IUnknown Èç¹û VARIANT ÊÇ IUnknown ½Ó¿Ú£¬Ôò DOM ÎĵµÎª IStream¡¢IPersistStream ºÍ IPersistStreamInit µ÷Óà QueryInterface¡£

Load ·½·¨ÊµÏÖÒÔÏÂËã·¨£¬ÓÃÓÚÈ·¶¨ XML µÄ×Ö·û±àÂë»ò×Ö·û¼¯¡£

Èç¹û Content-Type HTTP ±êÌⶨÒåÁË×Ö·û¼¯£¬¸Ã×Ö·û¼¯ÔòÌæ´ú XML Îĵµ±¾ÉíµÄËùÓÐÄÚÈÝ¡£ÒòΪûÓÐ HTTP ±êÌ⣬ËùÒÔÕâÏÔÈ»²»ÊÊÓÃÓÚ SAFEARRAY ºÍ IStream »úÖÆ¡£

Èç¹ûÓÐË«×Ö½Ú Unicode ×Ö½Ú´ÎÐò±êÖ¾£¬ÔòËü¼ÙÉè±àÂëÊÇ UTF-16¡£Ëü¼È¿É´¦Àí´ó endian£¬Ò²¿É´¦ÀíС endian¡£

Èç¹ûÓÐËÄ×Ö½Ú Unicode ×Ö½Ú´ÎÐò±êÖ¾ (0xFF 0xFE 0xFF 0xFE)£¬ÔòËü¼ÙÉè±àÂëÊÇ UTF-32¡£Ëü¼È¿É´¦Àí´ó endian£¬Ò²¿É´¦ÀíС endian¡£

·ñÔò£¬Ëü¼ÙÉè±àÂëÊÇ UTF-8£¬³ý·ÇËüÓÃÖ¸¶¨ÆäËûһЩ×Ö·û¼¯µÄ±àÂëÊôÐÔ£¨Èç ISO-8859-1¡¢Windows-1252¡¢Shift-JIS µÈ£©£¬ÕÒµ½ XML ÉùÃ÷¡£

Äú½«¿´µ½Á½¸ö´Ó XML DOM ·µ»ØµÄÖ¸³ö±àÂëÎÊÌâµÄ³ö´íÏûÏ¢¡£µÚÒ»¸öͨ³£Ö¸³öÎĵµÖеÄ×Ö·ûÓë XML ÎĵµµÄ±àÂ벻ƥÅ䣺

ÔÚÎı¾ÄÚÈÝÖз¢ÏÖÁËÒ»¸öÎÞЧ×Ö·û¡£

ParseError ¶ÔÏó¿É¸æËßÄúÕâ¸öµ·ÂÒ×Ö·ûÔÚijһÐеÄÈ·ÇÐλÖã¬ÒÔ±ãʹÄú½â¾ö¸ÃÎÊÌâ¡£

µÚ¶þ¸ö³ö´íÏûÏ¢Ö¸³öÄúÒ»¿ªÊ¼ÓõÄÊÇ Unicode ×Ö½Ú´ÎÐò±êÖ¾£¨»òµ÷ÓÃÁË LoadXML ·½·¨£©£¬È»ºó±àÂëÊôÐÔÖ¸¶¨Á˲»ÊÇË«×Ö½Ú±àÂëµÄ±àÂ루Èç UTF-8 »ò Windows-1250£©£º

²»Ö§³Ö´Óµ±Ç°±àÂëת»»µ½Ö¸¶¨µÄ±àÂë¡£

ÁíÍ⣬Äú¿ÉÄܵ÷ÓÃÁË Load ·½·¨£¬²¢ÔÚÒ»¿ªÊ¼Ê¹ÓÃÁ˵¥×Ö½Ú±àÂ루ûÓÐ×Ö½Ú´ÎÐò±êÖ¾£©£¬µ«ÊÇËüËæºó·¢ÏÖÁËÖ¸¶¨Ë«×Ö½Ú»òËÄ×Ö½Ú±àÂ루Èç UTF-16 »ò UCS-4£©µÄ±àÂëÊôÐÔ¡£

»ù±¾Ô­ÔòÊDz»ÄÜÀûÓà XML ÉùÃ÷µÄ±àÂëÊôÐÔ£¬ÔÚ¶à×Ö½Ú×Ö·û¼¯Èç UTF-8¡¢Shift-JIS »ò Windows-1250£¬Óë Unicode ×Ö·û±àÂëÈç UTF-16¡¢UCS-2 »ò UCS-4 Ö®¼ä½øÐÐת»»£¬ÕâÊÇÒòΪÉùÃ÷±¾Éí±ØÐë¶Ôÿ¸ö×Ö·û¶¼Ê¹ÓÃÓëÎĵµÆäÓಿ·ÖÏàͬÊýÁ¿µÄ×Ö½Ú¡£

×îºó£¬IXMLHttpRequest ½Ó¿ÚÌṩÈçÏ·½·¨£¬ÓÃÒÔ·ÃÎÊÏÂÔØµÄÊý¾Ý£º

Methods Description

ResponseXML ±íʾÓÉ MSXML DOM ·ÖÎöÆ÷·ÖÎöµÄÏìӦʵÌ壨ÓÃÓë Load ·½·¨ÏàͬµÄ¹æÔò£©¡£

ResponseText ±íʾ×÷Ϊ×Ö´®µÄÏìӦʵÌå¡£±¾·½·¨Ã¤Ä¿µØ½âÂë´Ó UTF-8 ÊÕµ½µÄÏûϢʵÌå¡£ÕâÊÇÒ»¸öÒÑÖªÎÊÌ⣬ӦÔÚ¼´½«ÃæÊÐµÄ MSXML Web Release Öеõ½½â¾ö¡£

ResponseBody ±íʾ×÷ΪÎÞ·ûºÅ×Ö½ÚÊý×éµÄÏìӦʵÌå¡£

ResponseStream ±íʾ×÷Ϊ IStream ½Ó¿ÚµÄÏìӦʵÌå¡£

Óà MSXML ´´½¨Ð嵀 XML Îĵµ

Ò»µ©¼ÓÔØÁË XML Îĵµ£¬¼´¿ÉÓà DOM ´¦Àí XML Îĵµ£¬¶ø²»±Ø¿¼ÂÇÈκαàÂëÎÊÌ⣬ÒòΪÎĵµÊÇ×÷Ϊ Unicode ´æ´¢ÔÚÄÚ´æÖеġ£ËùÓÐ XML DOM ½Ó¿Ú¶¼ÊÇ»ùÓÚ COM BSTR µÄ£¬ºóÕßÊÇË«×Ö½ÚµÄ Unicode ×Ö´®¡£Õâ¾ÍÊÇ˵£¬Äú¿ÉÒÔ´ÓпªÊ¼ÔÚ°üº¬ËùÓÐ Unicode ×Ö·ûµÄÄÚ´æÖн¨Á¢ MSXML DOM Îĵµ£¬²¢ÇÒËùÓÐ×齨½«»á¹²Ïí¸ÃÄÚ´æÖÐµÄ DOM£¬¶ø²»»á¶Ô Unicode ×Ö·ûÖµµÄÒâ˼ÓÐÈκÎÒÉ»ó¡£È»¶ø£¬µ±¶ÔÆä½øÐб£´æÊ±£¬MSXML ½«ÒÔĬÈÏ·½Ê½°´ UTF-8 ±àÂëËùÓÐÊý¾Ý¡£ÀýÈ磬¼ÙÉèÄú½øÐÐÁËÒÔÏ´¦Àí£º

var xmldoc = new ActiveXObject("Microsoft.XMLDOM")

var e = xmldoc.createElement("test");

e.text = "å;

xmldoc.appendChild(e);

xmldoc.save("foo.xml");

ÏÂÁÐ UTF-8 ±àÂëÎļþµÄ½á¹ûÊÇ£º

Ã¥

×¢Òâ ÉÏÊöÀý×ÓÖ»Óе±ÔÚä¯ÀÀÆ÷ÒÔÍâµÄ»·¾³ÔËÐÐʱ£¬²ÅÓÐЧ¡£ÓÉÓÚÊܵ½°²È«ÏÞÖÆ£¬ÔÚä¯ÀÀÆ÷Àïµ÷Óà Save ·½·¨½«²»»á²úÉúÏàͬµÄ½á¹û¡£

¾¡¹ÜÕâ¿´ÉÏÈ¥Óеã¹Ö£¬µ«È´ÊÇÕýÈ·µÄ¡£ÏÂÁвâÊÔ×°ÔØÁËÓà UTF-8 ±àÂëµÄÎļþ£¬²¢²âÊÔ UTF-8 ÊÇ·ñ±»ÖØÐ½âÂëΪ Unicode ×Ö·ûÖµ 229¡£ËüÊÇ£º

var xmldoc = new ActiveXObject("Microsoft.XMLDOM")

xmldoc.load("foo.xml");

if (xmldoc.documentElement.text.charCodeAt(0) == 229)

{

WScript.echo("Yippee - it worked !!");

}

ÒªÏë¸ü¸Ä XML DOM Save ·½·¨Ê¹ÓõıàÂ룬ÐèÒªÓÃÈçÏÂλÓÚÎĵµ¶¥²¿µÄ±àÂëÊôÐÔ´´½¨ XML ÉùÃ÷£º

var pi = xmldoc.createProcessingInstruction("xml",

" version='1.0' encoding='ISO-8859-1'");

xmldoc.appendChild(pi);

µ÷Óà save ·½·¨Ê±£¬Äú¾Í»áµÃµ½ÒÔÏÂÓà ISO-8859-1 ±àÂëµÄÎļþ£º

ålt;/test>

ÏÖÔÚ£¬Ð¡ÐIJ»Òª±» XML ÊôÐÔÃÔ»ó¡£XML ÊôÐÔ·µ»Ø Unicode ×Ö´®¡£Èç¹ûÔÚ´´½¨ ISO-8859-1 ±àÂëÉùÃ÷Ö®ºó£¬µ÷Óà DOMDocument ¶ÔÏóÉ쵀 XML ÊôÐÔ£¬¼´¿ÉÈ¡»ØÒÔÏ Unicode ×Ö´®£º

ålt;/test>

Çë×¢ÒâÕâÀïûÓÐ ISO-8859-1 ±àÂëÉùÃ÷ÁË¡£ÕâÊÇÕý³£µÄ¡£ÕâÑù×öµÄÔ­ÒòÊÇʹÄú¿ÉÒÔת¶øÓôË×Ö´®µ÷Óà LoadXML£¬Ëü»áÆð×÷Óá£Èç¹ûËü²»Õâô×ö£¬LoadXML »áʧ°Ü²¢·µ»Ø³ö´íÏûÏ¢£º¡°²»Ö§³Ö´Óµ±Ç°±àÂëÇл»µ½Ö¸¶¨µÄ±àÂë¡£¡±

½áÂÛ

µ«Ô¸±¾ÎÄÓÐÖúÓÚ½âÊÍ×Ö·û±àÂëµÄ¹¤×÷Ô­Àí£¬ÌØ±ðÊÇÔÚ XML ºÍ MSXML DOM ÖеŤ×÷Ô­Àí¡£Ò»µ©ÄúÀí½âÁË×Ö·û¼¯±àÂ룬ËüÊÇÏ൱¼òµ¥µÄ£¬¶øÇÒ XML ÊǷdz£³öÉ«µÄ£¬ÒòΪËüÔÚÕâ·½ÃæÎ´ÁôÓÐË¿ºÁº¬ºýµÄÓàµØ¡£¾¡¹Ü MSXML DOM Óм¸´¦¹ÖÒìÐèÒªÃÜÇÐÁôÒ⣬µ«ËüÈÔ²»Ê§ÎªÒ»¸öÄÜÈÃÄú¶ÁÈ¡ºÍдÈëÈκΠXML ±àÂëµÄÇ¿´ó¹¤¾ß¡£

ÓйØÏêϸÐÅÏ¢

Microsoft MSDN Online Library: XML DOM Reference£¨Microsoft MSDN Áª»ú¿â£ºXML DOM ÒýÓã©

Character Encoding Model£¨×Ö·û±àÂëÄ£ÐÍ£©£¬×÷ÕߣºKen Whistler ºÍ Mark Davis

IANA Character Sets£¨IANA ×Ö·û¼¯£©

http://www.ietf.org£¨Ó¢ÎÄ£©µÄ Internet Engineering Task Force (IETF) ÌṩÁË RFC Áбí

Microsoft MSDN Online Library: Compatibility Issues with Mixed Environments£¨Microsoft MSDN Áª»ú¿â£ºÓë»ìºÏ»·¾³µÄ¼æÈÝÐÔÎÊÌ⣩

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/asp/2006/07/75212.htm
Ïà¹ØÎÄÕÂ