XMLÈëÃŵij£¼ûÎÊÌâ(ËÄ)
ÔÚ 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 ´ÓÁ㿪ʼ¹¹ÔìÎĵµÒ
Ïà¹ØÎĵµ£º
SAX£¨Simple API for XML¼ò³ÆSAX£©Ê¼þÊÇÎÞ״̬µÄ£¬Ò²¾ÍÊÇ˵£¬µ±½ÓÊÕµ½×Ö·ûÊý¾ÝµÄʼþºó£¬²¢²»ÖªµÀ¸Ã×Ö·ûÊý¾ÝÊÇÄÄÒ»¸öÔªËصÄ
ÄÚÈÝ¡£Í¬ÑùµØ£¬µ±ÊÕµ½ÔªËØ¿ªÊ¼µÄʼþºó£¬Ò²ÎÞ·¨ÖªµÀ¸ÃÔªËØÊÇ·ñÓи¸ÔªËØ£¬ÊÇ·ñÓÐ×ÓÔªËØ£¬ÕâÊÇ
SAXºÍDOM²»Í¬µÄµØ·½¡£SAX½âÎöÆ÷±¾Éí²¢²»ÌṩԪËصÄÉÏÏÂÎÄÐÅÏ¢£¬ËùÓÐÏà¹ØÐÅÏ¢µÄ¼Ç¼ÐèÒªÎÒÃÇ×Ô
¼º±à³ ......
==========================================
xmlÎļþ
£¼?xml version="1.0" encoding="GB2312"?£¾
£¼RESULT£¾
£¼VALUE£¾
¡¡¡¡ £¼NO£¾A1234£¼/NO£¾
¡¡¡¡ £¼ADDR£¾ËÄ´¨Ê¡XXÏØXXÕòXX·X¶ÎXXºÅ£¼/ADDR£¾
£¼/VALUE£¾
£¼VALUE£¾
¡¡¡¡ £¼NO£¾B1234£¼/NO£¾
¡¡ ¡¡£¼ADDR£¾ËÄ´¨Ê¡XXÊÐXXÏçXX ......
ÓÃTXT±à¼ÁËÒ»¸öXMLÎĵµ
<?xml version="1.0" encoding="utf-8"?>
<TEST>"
<Test Value="ÕâÊÇÒ»¸ö²âÊÔ" />
</TEST>
ÓÃIE´ò¿ªµÄʱºòÒ»Ö±ÏÔʾÓдíÎó£¬ÏÔʾººÓï×Ö·û²»Ö§³Ö¡£
¸ÄΪencoding=“gb2312”ºóÏÔʾÕý³£ÁË¡£
µ«Õâ¸ö½á¹ûÓë³õÖÔÎ¥±³£¬ÒòΪUTF-8ÊÇÖ§³ÖËùÓÐÓïÑԵġ£
ºóÀ´²éÕÒÔÒ ......
gloox×Ô¼ºÊµÏÖÁËxmlµÄ½âÎöÄ£¿é£¬Ã»ÓÐÓõ½µÚÈý·½µÄ¿â(tinyXML£¬expat )
Ö÷ÒªÉæ¼°µÄÎļþ:
tag.h (tag.cpp)
taghandler.h
parser.h (parser.cpp)
1. TagÒ»¸öTag¾ÍÊÇÒ»¸öXMLÔªËØ
ÀýÈç:
a.
<book kind='computer'>
<store id='23'/>
<author>
qiang
</author>
</bo ......
ÈçºÎ¼ÓÔØÓÐÍâ¹úºÍÌØÊâ×Ö·ûµÄÎĵµ£¿
¡¡¡¡Îĵµ¿ÉÒÔ°üº¬Íâ¹ú×Ö·û£¬ÀýÈ磺
¡¡¡¡foreign characters (úóí?)
¡¡¡¡ÀýÈç íá µÄÍâ¹ú×Ö·û±ØÐëÔÚÇ°Ãæ¼ÓÉÏ escape ÐòÁС£Íâ¹ú×Ö·û¿ÉÒÔÊÇ UTF-8 ±àÂë»òÓò»Í¬±àÂëÖ¸¶¨£¬ÈçÏÂËùʾ£º
¡¡¡¡foreign characters (íá)
¡¡¡ ......