ÔÚijЩÇé¿öÏ£¬Äã¿ÉÄÜÐèÒªÔÚJavaÖÐʵÏÖÄã×Ô¼ºµÄÊý¾Ý»òÓïÑÔ½âÎöÆ÷£¬Ò²ÐíÊÇÕâÖÖÊý¾Ý¸ñʽ»òÓïÑÔȱ·¦±ê×¼µÄJava»ò¿ªÔ´½âÎöÆ÷¿ÉÒÔʹÓ᣻òÕßËäÈ»ÓÐÏֳɵĽâÎöÆ÷ʵÏÖ£¬µ«ËüÃÇҪô̫Âý£¬ÒªÃ´Ì«Õ¼Äڴ棬Ҫô¾ÍÊÇûÓзûºÏÄãËùÐèÒªµÄÌØÐÔ¡£ÓÖ»òÕßÊÇij¸ö¿ªÔ´µÄ½âÎöÆ÷´æÔÚȱÏÝ£¬ÒªÃ´ÊÇij¸ö¿ªÔ´½âÎöÆ÷µÄÏîÄ¿ÖÐÖ¹ÁË£¬ÔÒò²»Ò»¶ø×ã¡£²»¹ýÎÞÂÛÔÒòÊÇʲô£¬×ÜÖ®ÊÂʵ¾ÍÊÇÄã±ØÐëÒª×Ô¼ºÈ¥ÊµÏÖÕâ¸ö½âÎöÆ÷¡£
µ±Äã±ØÐë×Ô¼ºÊµÏÖÒ»¸ö½âÎöÆ÷ʱ£¬Äã¶ÔËüµÄÆÚÍû»áÓкܶ࣬°üÀ¨ÐÔÄÜÁ¼ºÃ¡¢Áé»î¡¢ÌØÐԷḻ¡¢·½±ãʹÓã¬ÒÔ¼°±ãÓÚά»¤µÈµÈ¡£Ëµµ½µ×£¬ÕâÒ²ÊÇÄã×Ô¼ºµÄ´úÂë¡£ÔÚ±¾ÎÄÖУ¬ÎÒ½«ÎªÄã½éÉÜÔÚJavaÖÐʵÏÖ¸ßÐÔÄܽâÎöÆ÷µÄÒ»ÖÖ·½Ê½£¬ÕâÖÖ·½·¨²¢ÇÒ¶ÀÒ»ÎÞ¶þ£¬µ«ÄѶÈÊÊÖУ¬²»½öʵÏÖÁ˸ßÐÔÄÜ£¬¶øÇÒËüµÄÄ£¿é»¯Éè¼Æ·½Ê½Ò²±È½ÏºÏÀí¡£ÕâÖÖÉè¼ÆÊÇÊܵ½ÁËVTD-XMLµÄÉè¼Æ·½Ê½µÄÆô·¢£¬ºóÕßÊÇÎÒËù¼û¹ýµÄ×î¿ìµÄJava
XML½âÎöÆ÷£¬±ÈÆðStAXºÍSAXÕâÁ½ÖÖ±ê×¼µÄJava XML½âÎöÆ÷¶¼Òª¿ìÉÏÐí¶à¡£
Á½ÖÖ»ù±¾µÄ½âÎöÆ÷ÀàÐÍ
Ϊ½âÎöÆ÷½øÐзÖÀàµÄ·½Ê½Óкü¸ÖÖ£¬ÔÚÕâÀïÎÒ½«½âÎöÆ÷·ÖΪÁ½ÖÖ»ù´¡ÀàÐÍ£º
1.˳Ðò·ÃÎʽâÎöÆ÷
2.Ëæ»ú·ÃÎʽâÎöÆ÷
˳Ðò·ÃÎÊÊÇÖ¸½âÎöÆ÷¶Ô½øÐÐÊý¾Ý½øÐнâÎö£¬ÔÚÊý¾Ý½âÎöÍê³Éºó½«Æäת½»¸øÊý¾Ý´¦ÀíÆ÷£¨processor£©µÄ¹ý³Ì¡£Êý¾Ý´¦ÀíÆ÷Ö»ÄÜ·ÃÎʵ±Ç°ÕýÔÚ½øÐнâÎöµÄÊý¾Ý£¬Ëü¼È²»ÄÜ·ÃÎÊÒѽâÎö¹ýµÄÊý¾Ý£¬Ò²²»ÄÜ·ÃÎʵȴý½âÎöµÄÊý¾Ý¡£ÕâÖÖ½âÎöÆ÷Ò²±»³ÆÎª»ùÓÚʼþµÄ½âÎöÆ÷£¬ÀýÈçSAXºÍStAX½âÎöÆ÷¡£
¶øËæ»ú·ÃÎʽâÎöÆ÷ÊÇÖ¸½âÎöÆ÷ÔÊÐíÊý¾Ý´¦Àí´úÂë¿ÉÒÔËæÒâ·ÃÎÊÕýÔÚ½øÐнâÎöµÄÊý¾Ý֮ǰºÍÖ®ºóµÄÈÎÒâÊý¾Ý£¨Ëæ»ú·ÃÎÊ£©¡£ÕâÖÖ½âÎöÆ÷µÄÀý×ÓÓÐXML
DOM½âÎöÆ÷¡£
ÏÂͼչʾÁË˳Ðò·ÃÎʽâÎöÆ÷ÓëËæ»ú·ÃÎʽâÎöÆ÷µÄ²»Í¬Ö®´¦£º

˳Ðò·ÃÎʽâÎöÆ÷Ö»ÄÜÈÃÄã·ÃÎʵ±Ç°ÕýÔÚ½âÎöµÄ¡°ÊÓ´°¡±»ò¡°Ê¼þ¡±£¬¶øËæ»ú·ÃÎʽâÎöÆ÷ÔÊÐíÄãÈÎÒâµØä¯ÀÀËùÓÐÒѽâÎöÊý¾Ý¡£
Éè¼Æ¸Å¿ö
ÎÒÔÚÕâÀïËù½éÉܵĽâÎöÆ÷Éè¼ÆÊôÓÚËæ»ú·ÃÎʽâÎöÆ÷¡£
Ëæ»ú·ÃÎʽâÎöÆ÷µÄʵÏÖͨ³£»áÂýÓÚ˳Ðò·ÃÎʽâÎöÆ÷£¬ÒòΪËüÃÇÒ»°ã¶¼»áΪÒѽâÎöÊý¾Ý´´½¨Ä³ÖÖ¶ÔÏóÊ÷£¬Êý¾Ý´¦Àí´úÂ뽫ͨ¹ýÕâ¿ÃÊ÷¶ÔÊý¾Ý½øÐзÃÎÊ¡£´´½¨ÕâÖÖ¶ÔÏóÊ÷²»½öÒª»¨·Ñ½Ï³¤µÄCPUʱ¼ä£¬ÏûºÄµÄÄÚ´æÒ²ºÜ´ó¡£
Ïà¶ÔÓÚ´ÓÒѽâÎöÊý¾ÝÖд´½¨Ò»¿Ã¶ÔÏóÊ÷µÄ·½Ê½£¬ÁíÒ»ÖÖÐÔÄܸü¼ÑµÄ·½Ê½ÊÇΪÔÀ´µÄÊý¾Ý»º³åÇø½¨Á¢Ò»¸ö¶ÔÓ¦µÄË÷Òý»º³åÇø£¬ÕâЩË÷Òý»áÖ¸ÏòÔÚÒѽâÎöÊý¾ÝÖÐÕÒµ½µÄÔªËØµÄÆðµãÓëÖյ㡣Êý¾Ý´¦Àí´úÂë´Ëʱ²»ÔÙͨ¹ý¶ÔÏóÊ÷·ÃÎÊÊý¾Ý£¬¶øÊÇÖ±½ÓÔÚ°üÀ¨ÁËÔʼÊý¾ÝµÄ»º³åÇøÖзÃÎÊÒѽâÎöÊý¾Ý¡£ÒÔÏÂÊǶÔÕâÁ½ÖÖ´¦Àí·½Ê½µÄͼʾ£º

ÓÉÓÚÎÒÕÒ²»µ½Ò»¸ö¸üºÃµÄÃû×Ö£¬Òò´ËÎÒ½«ÕâÖÖ·½Ê½¼òµ¥µØÃüÃûΪ¡°Ë÷Òý¸²¸Ç½âÎöÆ÷¡±£¨Index
Overlay Parser£©¡£¸Ã½âÎöÆ÷ΪÔʼÊý¾Ý´´½¨ÁËÒ»¸ö¸²¸ÇÓÚÆäÉϵÄË÷Òý¡£ÕâÖÖ·½Ê½ÈÃÈËÁªÏëÆðÊý¾Ý¿âË÷Òý½«Êý¾Ý±£´æÔÚ´ÅÅ̵ķ½Ê½£¬ËüΪÔʼµÄ¡¢Î´´¦ÀíµÄÊý¾Ý´´½¨ÁËÒ»¸öË÷Òý£¬ÒÔʵÏÖ¸ü¿ìµØä¯ÀÀºÍËÑË÷Êý¾ÝµÄÄ¿µÄ¡£
ÈçͬÎÒ֮ǰËù˵µÄ£¬ÕâÖÖÉè¼Æ·½Ê½ÊÇÊܵ½ÁËVTD-XML£¨VTDÊÇÖ¸ÐéÄâÁîÅÆÃèÊö·û£©µÄÆô·¢£¬Òò´ËÄãÒ²¿ÉÒÔ°ÑÕâÖÖ½âÎöÆ÷³ÆÎªÐéÄâÁîÅÆÃèÊö·û½âÎöÆ÷¡£µ«ÎÒ»¹ÊÇÇãÏòÓÚË÷Òý¸²¸ÇÕâ¸öÃû×Ö£¬ÒòΪËü±íÏÖÁËÐéÄâÁîÅÆÃèÊö·ûµÄ±¾ÖÊ£¬¼´¶ÔÔʼÊý¾Ý½¨Á¢µÄË÷Òý¡£
½âÎöÆ÷Éè¼Æ¸ÅÒª
Ò»ÖÖ³£¹æµÄ½âÎöÆ÷Éè¼Æ·½Ê½½«½âÎö¹ý³Ì·ÖΪÁ½²½¡£µÚÒ»²½Êǽ«Êý¾Ý·Ö½âΪÄÚ¾ÛµÄÁîÅÆ£¬Ò»¸öÁîÅÆÊÇÒѽâÎöÊý¾ÝÖеÄÒ»¸ö»ò¶à¸ö×Ö½Ú»ò×Ö·û¡£µÚ¶þ²½ÊǶÔÁîÅÆ½øÐнâÊÍ£¬²¢¸ù¾ÝÕâЩÁîÅÆ¹¹½¨¸ü´óµÄÔªËØ¡£ÒÔÏÂÊÇÕâÁ½¸ö²½ÖèµÄͼʾ£º

ÕâÀïµÄÔªËØ²¢²»Ò»¶¨ÊÇÖ¸XMLÔªËØ£¨ËäÈ»XMLÔªËØÒ²ÊǽâÎöÆ÷ÔªËØ£©£¬¶øÊÇÖ¸¹¹³É½âÎöÊý¾ÝµÄ¸ü´óµÄ¡°Êý¾ÝÔªËØ¡±¡£±ÈÈç˵£¬ÔÚÒ»¸öXMLÎĵµÖÐÔªËØ´ú±íÁËXMLÔªËØ£¬¶øÔÚÒ»¸öJSONÎĵµÖÐÔªËØÔò´ú±íÁËJSON¶ÔÏ󣬵ȵȡ£
¾ÙÀýÀ´Ëµ£¬<myelement>Õâ¸ö×Ö·û´®¿ÉÒÔ±»·Ö½âΪÒÔϼ¸¸öÁîÅÆ£º
Ò»µ©Êý¾Ý±»·Ö½âΪÁîÅÆ£¬½âÎöÆ÷¾ÍÄܹ»Ïà¶ÔÈÝÒ×µØÁ˽âËüµÄÒâÒ壬²¢ÇÒ¾ö¶¨ÕâЩÁîÅÆ¹¹³ÉµÄ¸ü´óµÄÔªËØ¡£½âÎöÆ÷¾ÍÄܹ»Àí½âÒ»¸öXMLÔªËØÊÇÓÉÒ»¸ö¡¯<¡¯ÁîÅÆ¿ªÊ¼£¬ËæºóÊÇÒ»¸ö×Ö·û´®£¨¼´ÔªËØÃû³Æ£©£¬ËæºóÓпÉÄÜÊÇһЩÊôÐÔ£¬×îºóÒÔÒ»¸ö¡¯>¡¯ÁîÅÆ½áβ¡£
Ë÷Òý¸²¸Ç½âÎöÆ÷Éè¼Æ
ÔÚÕâÖÖ½âÎöÆ÷µÄÉè¼Æ·½Ê½ÖÐÒ²°üº¬ÁËÁ½¸ö²½Ö裺ÊäÈëÊý¾ÝÊ×Ïȱ»Ò»¸öÁîÅÆÉú³ÉÆ÷£¨tokenizer£©×é¼þ·Ö½âΪÁîÅÆ£¬½âÎöÆ÷Ëæºó½«¶ÔÁîÅÆ½øÐнâÎö£¬ÒÔ¾ö¶¨ÊäÈëÊý¾ÝµÄÒ»¸ö¸ü´óµÄÔªËØ±ß½ç¡£
ÄãÒ²¿ÉÒÔΪ½âÎö¹ý³Ì¼ÓÈëÒ»¸ö¿ÉÑ¡µÄ¡°ÔªËØä¯ÀÀ²½Ö衱¡£Èç¹û½âÎöÆ÷´Ó½âÎöÊý¾ÝÖй¹½¨³öÒ»¿Ã¶ÔÏóÊ÷£¬Ëüͨ³£»á°üº¬ÔÚÕû¿ÃÊ÷ÖнøÐÐä¯ÀÀµÄÁ´½Ó¡£Èç¹ûÎÒÃDz»Ñ¡Ôñ¶ÔÏóÊ÷£¬¶øÊǹ¹½¨³öÒ»¸öÔªËØË÷Òý»º³åÇø£¬ÎÒÃÇÒ²ÐíÐèÒªÁíÒ»¸ö×é¼þÒÔ°ïÖúÊý¾Ý´¦Àí´úÂëÔÚÔªËØË÷Òý»º³åÇøÖнøÐÐä¯ÀÀ¡£
ÒÔÏÂÊÇÎÒÃǵĽâÎöÆ÷Éè¼ÆµÄ¸ÅÒª£º

ÎÒÃÇÊ×ÏȽ«ËùÓÐÊý¾Ý¶ÁÈëÒ»¸öÊý¾Ý»º³åÇøÖУ¬ÎªÁËÄܹ»Í¨¹ýÔÚ½âÎö¹ý³ÌÖд´½¨µÄË÷Òý¶ÔÔʼÊý¾Ý½øÐÐËæ»ú·ÃÎÊ£¬ËùÓеÄÔʼÊý¾Ý±ØÐëÒѾ´æÔÚÓÚÄÚ´æÖС£
µÚ¶þ²½£¬ÁîÅÆÉú³ÉÆ÷»á½«Êý¾Ý·Ö½âΪÁîÅÆ¡£ÁîÅÆÉú³ÉÆ÷ÄÚ²¿µÄij¸öÁîÅÆ»º³åÇø»á½«¸ÃÁîÅÆµÄÆðµãË÷Òý¡¢ÖÕµãË÷ÒýºÍÁîÅÆÀàÐͶ¼±£ÁôÏÂÀ´¡£Ê¹ÓÃÁîÅÆ»º³åÇøÊ¹ÄãÄܹ»²éÕÒ֮ǰ»òÖ®ºóµÄÁîÅÆ£¬ÔÚÕâÖÖÉè¼ÆÖнâÎöÆ÷»áÀûÓõ½ÕâÒ»ÏîÌØÐÔ¡£
µÚÈý²½£¬½âÎöÆ÷»ñÈ¡ÁËÁîÅÆÉú³ÉÆ÷Ëù²úÉúµÄÁîÅÆ£¬¸ù¾ÝÉÏÏÂÎÄ¶ÔÆä½øÐÐÑéÖ¤£¬²¢¾ö¶¨ËüËù±íʾµÄÔªËØ¡£Ëæºó½âÎöÆ÷»á¸ù¾Ý´ÓÁîÅÆÉú³ÉÆ÷´¦»ñÈ¡µÄÁîÅÆ¹¹½¨Ò»¸öÔªËØË÷Òý£¨¼´Ë÷Òý¸²¸Ç£©¡£½âÎöÆ÷»á´ÓÁîÅÆÉú³ÉÆ÷ÖÐÒ»¸ö½ÓÒ»¸öµØ»ñÈ¡ÁîÅÆ¡£Òò´ËÁîÅÆÉú³ÉÆ÷²»±ØÁ¢¼´½«ËùÓÐÊý¾Ý¶¼·Ö½âΪÁîÅÆ£¬ËüÖ»ÐèҪÿ´ÎÕÒµ½Ò»¸öÁîÅÆ¾ÍÐÐÁË¡£
Êý¾Ý´¦Àí´úÂ뽫ä¯ÀÀÕû¸öÔªËØ»º³åÇø£¬ÀûÓÃËü·ÃÎÊÔʼÊý¾Ý¡£ÄãÒ²¿ÉÒÔÑ¡ÔñÓÃÒ»¸öÔªËØä¯ÀÀ×é¼þ½«ÔªËØ»º³åÇø°ü×°ÆðÀ´£¬Ê¹ä¯ÀÀÔªËØ»º³åÇøµÄ¹¤×÷¸ü¼Ó¼òµ¥¡£
ÕâÖÖÉè¼Æ²»»á´Ó½âÎöÊý¾ÝÖÐÉú³ÉÒ»¿Ã¶ÔÏóÊ÷£¬µ«ËüȷʵÉú³ÉÁËÒ»¸ö¿Éä¯ÀÀµÄ½á¹¹£¬¼´ÔªËØ»º³åÇø£¬Ë÷Òý£¨¼´ÕûÊýÊý×飩½«Ö¸Ïò°üº¬ÁËÔʼÊý¾ÝµÄÊý¾Ý»º³åÇø¡£Äã¿ÉÒÔʹÓÃÕâЩË÷Òýä¯ÀÀÔʼÊý¾Ý»º³åÇøÖеÄËùÓÐÊý¾Ý¡£
±¾ÎĵÄÒÔϲ¿·Ö½«·ÖÎöÕâÖÖÉè¼ÆµÄ¸÷·½ÃæÏ¸½Ú¡£
Êý¾Ý»º³åÇø
Êý¾Ý»º³åÇøÊÇÒ»¸ö°üÀ¨ÁËÔʼÊý¾ÝµÄ×Ö½Ú»ò×Ö·û»º³åÇø£¬¶øÁîÅÆ»º³åÇøºÍÔªËØ»º³åÇøÔò°üº¬ÁËÖ¸ÏòÊý¾Ý»º³åÇøµÄË÷Òý¡£
ΪÁËʵÏÖ¶Ô½âÎöÊý¾ÝµÄËæ»ú·ÃÎÊ£¬±ØÐëÒÔijÖÖÐÎʽ½«Ëü±£ÁôÔÚÄÚ´æÖС£ÎÒÃÇÔÚÕâÀïûÓÐÑ¡Ôñ¶ÔÏóÊ÷£¬¶øÊÇÑ¡ÔñÁ˰üº¬Î´´¦ÀíÊý¾Ý±¾ÉíµÄÊý¾Ý»º³åÇø¡£
½«ËùÓÐÊý¾ÝÈ«²¿±£ÁôÔÚÄÚ´æÖпÉÄܻᵼÖ¶ÔÄÚ´æµÄ´óÁ¿ÏûºÄ¡£Èç¹ûÄãµÄÊý¾Ý°üº¬ÁË»¥Ïà¶ÀÁ¢µÄÔªËØ£¬ÀýÈçÈÕÖ¾¼Ç¼£¬ÄÇô½«Õû¸öÈÕÖ¾Îļþµ¼ÈëÄÚ´æºÜ¿ÉÄÜ»áÔì³É±ÀÀ£¡£ÄãÓ¦¸Ã²ÉÈ¡µÄ·½Ê½ÊÇÖ»µ¼ÈëÈÕÖ¾ÎļþµÄÒ»²¿·Ö£¬ÆäÖÐÖÁÉÙ°üº¬Ò»ÌõÍêÕûµÄÈÕÖ¾¼Ç¼¡£ÓÉÓÚÿһÌõÈÕÖ¾¼Ç¼¶¼¿ÉÒÔ²»ÒÀÀµÓÚÆäËüÈÕÖ¾¼Ç¼½øÐнâÎöºÍ´¦Àí£¬Äã¾Í²»ÐèÒª½«Õû¸öÈÕÖ¾ÎļþÔÚͬһʱ¿Ì¼ÓÔØµ½ÄÚ´æÀïÁË¡£ÎÒÔÚÎÒµÄÎÄÕ¡¶Ê¹Óûº³åÇø¶ÔÁ÷½øÐеü´ú´¦Àí¡·ÖÐÃèÊöÁËÈçºÎ¶ÔÒ»¿éÊý¾ÝÁ÷½øÐеü´úµÄ·½Ê½¡£
ÁîÅÆÉú³ÉÆ÷ÓëÁîÅÆ»º³åÇø
ÁîÅÆÉú³ÉÆ÷½«Êý¾Ý»º³åÇø·Ö½âΪÁîÅÆ£¬ÁîÅÆµÄÐÅÏ¢»á±£´æÔÚÁîÅÆ»º³åÇøÖУ¬°üÀ¨ÒÔÏÂÐÅÏ¢£º
1.ÁîÅÆµÄλÖã¨ÆðʼλÖõÄË÷Òý£©
2.ÁîÅÆ³¤¶È
3.ÁîÅÆÀàÐÍ£¨¿ÉÑ¡ÐÅÏ¢£©
ÒÔÉÏÐÅÏ¢¶¼±£´æÔÚÊý×éÖУ¬ÕâÀïÊÇÒ»¶ÎʾÀý´úÂ룺
public class IndexBuffer {
public int[] position = null;
public int[] length = null;
public byte[] type = null;
/* assuming a max of 256 types (1 byte / type) */
} |
µ±ÁîÅÆÉú³ÉÆ÷ÔÚÊý¾Ý»º³åÇøÖÐÕÒµ½ÁîÅÆÖ®ºó£¬Ëü»á½«¸ÃλÖã¨ÆðʼλÖõÄË÷Òý£©²åÈëpositionÊý×é¡¢½«ÁîÅÆ³¤¶È²åÈëlengthÊý×飬²¢½«ÁîÅÆÀàÐͲåÈëtypeÊý×é¡£
Èç¹ûÄ㲻ʹÓÃÕâ¸ö¿ÉÑ¡µÄÁîÅÆÀàÐÍÊý×飬ÄãÒ²¿ÉÒÔÔÚÐèÒªµÄʱºòͨ¹ýÁîÅÆÖеÄÊý¾ÝµÃ³öÁîÅÆµÄÀàÐÍ¡£ÕâÊÇÒ»ÖÖÐÔÄÜÓëÄÚ´æÕ¼ÓÃÖ®¼äµÄȨºâ¡£
½âÎöÆ÷
½âÎöÆ÷±¾ÖÊÉÏÓëÁîÅÆÉú³ÉÆ÷·Ç³£ÀàËÆ£¬²»Í¬µÄÊÇËü½«ÁîÅÆ×÷ΪÊäÈ룬¶ø½«ÔªËØË÷Òý×÷ΪÊä³ö¡£ºÍÁîÅÆÀàËÆ£¬Ã¿¸öÔªËØÓÉËüµÄλÖã¨ÆðʼλÖõÄË÷Òý£©¡¢³¤¶ÈºÍ¿ÉÑ¡µÄÔªËØÀàÐͼ¸²¿·Ö×é³É¡£ÓÃÒÔ±£´æÕâЩÊý×ֵĽṹÓë±£´æÁîÅÆµÄ½á¹¹ÊÇÍêȫһÑùµÄ¡£
ÔÚÕâÀïtypeÊý×éÈÔÈ»ÊÇ¿ÉÑ¡µÄ¡£Èç¹ûÄãÄܹ»´ÓÔªËØµÄÊ׸ö×Ö½Ú»ò×Ö·ûÖкÜÈÝÒ×µØÅжÏÔªËØµÄÀàÐÍ£¬ÄǾÍÎÞÐèÌØÒâ±£´æÔªËصÄÀàÐÍÐÅÏ¢¡£
ÔÚÔªËØ»º³åÇøÖÐËù°üº¬µÄÔªËØµÄ¾«È·Á£¶ÈÈ¡¾öÓÚ±»½âÎöµÄÊý¾Ý£¬ÒÔ¼°Ö®ºó½«¶ÔÊý¾Ý½øÐд¦ÀíµÄ´úÂë¶Î¡£¾ÙÀýÀ´Ëµ£¬Èç¹ûÄãҪʵÏÖÒ»¸öXML½âÎöÆ÷£¬Äã¿ÉÄÜ»áÑ¡Ôñ½«Ã¿¸ö¿ªÊ¼±êÇ©¡¢ÊôÐԺͽáÊø±êÇ©×÷Ϊ¶ÀÁ¢µÄ¡°½âÎöÔªËØ¡±¡£
ÔªËØ»º³åÇø£¨Ë÷Òý£©
½âÎöÆ÷ËùÉú³ÉµÄÔªËØ»º³åÇø°üº¬ÁËÒýÏòÔʼÊý¾ÝµÄË÷Òý¡£ÕâЩË÷Òý»á¼Ç¼½âÎöÆ÷ÔÚÊý¾ÝÖÐËùÕÒµ½µÄÔªËØµÄλÖã¨ÆðʼλÖõÄË÷Òý£©¡¢³¤¶ÈºÍÀàÐÍÐÅÏ¢¡£Äã¿ÉÒÔÀûÓÃÕâЩË÷ÒýʵÏÖÔÚÔʼÊý¾ÝµÄÈÎÒâä¯ÀÀ¡£
´Ó֮ǰµÄIndexBuffer´úÂë¶ÎÖУ¬Äã¿ÉÒÔ¿´µ½ÔªËØ»º³åÇøÎªÃ¿¸öÔªËØ±£ÁôÁË9¸ö×ֽڵĻº³åÇø£¬4¸ö×Ö½ÚÓÃÓÚ±£´æÎ»Öá¢Áí4¸ö×Ö½ÚÓÃÓÚ±£´æÁîÅÆ³¤¶È£¬×îºó1¸ö×Ö½ÚÓÃÓÚ±£´æÁîÅÆÀàÐÍ¡£
Äã»òÐíÄܹ»Í¨¹ýijЩÊÖ¶ÎÀ´¼õÉÙIndexBufferµÄÄÚ´æÕ¼Ó᣾ÙÀýÀ´Ëµ£¬Èç¹ûÄãÈ·ÈÏÆäÖеÄÔªËØ²»³¬¹ý65535¸ö×Ö½Ú£¬Äã¾Í¿ÉÒÔÑ¡ÔñʹÓÃshort¶ÌÕûÊý£¬¶ø²»Êdz£¹æµÄintÕûÊýÀ´±£´æÁîÅÆ³¤¶ÈÐÅÏ¢£¬ÕâÑùÿ¸öÔªËØ¶¼¿ÉÒÔ½ÚÊ¡Á½¸ö×Ö½Ú£¬½«Õû¸öÄÚ´æÕ¼ÓüõÉÙÖÁÿ¸öÔªËØÆß¸ö×Ö½Ú¡£
´ËÍ⣬Èç¹ûÄãÈ·Èϱ»½âÎöÎļþµÄ´óС²»»á³¬¹ý16,777,216¸ö×Ö½Ú£¬ÄÇÄãÖ»ÐèÒªÈý¸ö×Ö½ÚÀ´±£´æÎ»ÖÃÐÅÏ¢£¨ÆðʼλÖõÄË÷Òý£©¡£ÄÇôÔÚpositionÊý×éÖеÄÿ¸öÕûÊýµÄµÚËĸö×ֽھͿÉÒÔÓÃÀ´±£´æÔªËØÀàÐÍ£¬ÕâÑù¾Í¿ÉÒÔÍêÈ«²»ÓÃʹÓõ¥¶ÀµÄtypeÊý×éÁË¡£Èç¹ûÄãµÄÁîÅÆÀàÐͲ»³¬¹ý128ÖÖ£¬Äã¾Í¿ÉÒÔʹÓÃÆß¸ö×Ö½Ú¡¢¶ø²»Êǰ˸ö×Ö½ÚÀ´±£´æÁîÅÆÀàÐÍ£¬ÕâÑùÒ»À´Äã¾Í¿ÉÒÔʹÓÃ25¸ö±ÈÌØÀ´±£´æÎ»Öã¬Ê¹µÃ×î´óµÄλÖÿÉÒÔ´ïµ½33,554,432¡£Èç¹ûÄãµÄÁîÅÆÀàÐÍÉÙÓÚ64ÖÖ£¬Ä㻹¿ÉÒÔ¿Õ³öÒ»¸ö±ÈÌØÒÔ±£´æÎ»ÖÃÐÅÏ¢¡£
VTD-XMLʵ¼ÊÉϽ«ËùÓÐÕâЩÐÅÏ¢¶¼±£´æÔÚÒ»¸ö³¤ÕûÊýÀàÐÍÖУ¬ÒÔ´ïµ½½ÚÊ¡¿Õ¼äµÄÄ¿µÄ¡£ÎªÁ˽«¼¸¸ö·ÖÀëµÄ×ֶμÓÔØ³ÉΪһ¸öµ¥¶ÀµÄÕûÊý»òÕß³¤ÕûÊý£¬ÐèÒª½øÐÐһЩ±ÈÌØ²Ù×÷£¬Ò²Òò´Ë»á½µµÍһЩËÙ¶È£¬µ«ºÃ´¦ÊǽÚÊ¡Á˲¿·ÖÄڴ棬Õâ¾ÍÊÇÒ»ÖÖ×ÊÔ´µÄȨºâ¡£
ÔªËØNavigator
ÔªËØnavigator¿ÉÒÔ°ïÖú´¦ÀíÊý¾ÝµÄ´úÂëÔÚÔªËØ»º³åÇøÖжÔÊý¾ÝÈÎÒâä¯ÀÀ¡£Çë¼Çסһ¸öÓïÒ廯µÄ¶ÔÏó»òÔªËØ£¨ÀýÈçÒ»¸öXMLÔªËØ£©»òÐí»á°üº¬¶à¸ö½âÎöÆ÷ÔªËØ¡£ÎªÁ˼ò»¯ä¯ÀÀµÄʵÏÖ£¬Äã¿ÉÒÔ´´½¨Ò»¸öÔªËØnavigator¶ÔÏó£¬ÈÃËü¸ºÔðÔÚÓïÒ廯¶ÔÏó¼¶±ð¶Ô½âÎöÆ÷ÔªËØ½øÐÐä¯ÀÀµÄ²Ù×÷¡£¾ÙÀýÀ´Ëµ£¬XMLÔªËØnavigator¿ÉÒÔͨ¹ýÔÚ¿ªÊ¼±êǩ֮¼äÌø×ªµÄ·½Ê½ÊµÏÖ¶ÔÔªËØ»º³åÇøµÄä¯ÀÀ¡£
ÊÇ·ñʹÓÃÔªËØnavigator×é¼þÓÉÄã×ÔÐÐÑ¡Ôñ£¬Èç¹ûÄãÖ»ÐèҪΪij¸öµ¥Ò»µÄÏîÄ¿µÄijһ¸ö¹¦ÄÜʵÏÖ½âÎöÆ÷£¬ÄãÒ²¿ÉÒÔÑ¡Ôñ²»Ê¹ÓÃÕâÖÖ·½Ê½¡£µ«Èç¹ûÄãÏ£ÍûʵÏֵĽâÎöÆ÷Äܹ»ÔÚ¶à¸öÏîÄ¿ÖÐÖØÓ㬻òÕßÊǽ«Ëü·¢²¼Îª¿ªÔ´´úÂ룬Äã»òÐíÐèÒªÌí¼ÓÒ»¸öÔªËØnavigator×é¼þ£¬ÕâÈ¡¾öÓÚ¶Ô½âÎöÊý¾ÝµÄä¯ÀÀµÄ¸´ÔÓ¶ÈÓжà¸ß¡£
°¸Àýѧϰ£ºÒ»¸öJSON½âÎöÆ÷
ΪÁËÈÃË÷Òý¸²¸Ç½âÎöÆ÷µÄÉè¼Æ¸üΪֱ¹Û£¬ÎÒ×Ô¼ºÊµÏÖÁËÒ»¸ö»ùÓÚJavaµÄСÐÍJSON½âÎöÆ÷£¬Ëü×ñÑÁËË÷Òý¸²¸Ç½âÎöÆ÷Éè¼ÆµÄ·½Ê½£¬Äã¿ÉÒÔÔÚGitHubÉÏÕÒµ½ËüµÄÍêÕû´úÂë¡£
JSONÊÇJavaScript¶ÔÏó±íʾ·¨µÄ¼ò³Æ£¬ËüÊÇÔÚweb·þÎñ¶ËºÍ¿Í»§¶Ëä¯ÀÀÆ÷Ö®¼äͨ¹ýAJAX½øÐÐÊý¾Ý½»»»µÄÒ»ÖÖ³£¼ûÊý¾Ý¸ñʽ£¬ÕâÊÇÒòΪwebä¯ÀÀÆ÷ÄÚÖÃÁ˽«JSONת»»ÎªJavaScript¶ÔÏóµÄÔÉúÖ§³Ö¡£ÒÔÏÂÆªÕÂÖÐÎÒ»á¼ÙÉèÄãÒѾÊìϤJSON¸ñʽÁË¡£
ÕâÀïÓÐÒ»¸ö¼òµ¥µÄJSONʾÀý£º
{"key1":"value1","key2":"value2",["valueA":"valueB":"valueC"]} |
JSONÁîÅÆÉú³ÉÆ÷½«JSON×Ö·û´®·Ö±ðΪÒÔÏÂÁîÅÆ£º

ÕâÀïµÄÏ»®ÏßÇ¿µ÷ÁËÿ¸öÁîÅÆµÄ³¤¶È¡£
ÁîÅÆÉú³ÉÆ÷»¹½«¾ö¶¨Ã¿¸öÁîÅÆµÄ»ù±¾ÀàÐÍ£¬ÒÔϵÄJSONʾÀýÓë֮ǰµÄÏàͬ£¬Ö»ÊǼÓÈëÁËÁîÅÆµÄÀàÐÍÐÅÏ¢£º

Çë×¢ÒâÕâÀïµÄÁîÅÆÀàÐͲ¢·ÇÓïÒ廯£¬ËüÖ»ÊÇ˵Ã÷ÁËÁîÅÆµÄ»ù±¾ÀàÐÍÊÇʲô£¬¶ø²¢Ã»ÓÐÌåÏÖ³öÕâЩÁîÅÆ°üº¬ÁËʲôÄÚÈÝ¡£
½âÎöÆ÷»á·ÖÎö³ö»ù±¾µÄÁîÅÆÀàÐÍ£¬²¢½«ËüÃÇÌæ»»ÎªÓïÒ廯µÄÀàÐÍ¡£ÕâÀïÊÇÒ»¸öÏàͬµÄJSONʾÀý£¬µ«Ê¹ÓÃÁËÓïÒ廯µÄÀàÐÍ£¨¼´½âÎöÆ÷ÔªËØ£©£º

µ±½âÎöÆ÷Íê³ÉÁ˶ԸÃJSON¶ÔÏóµÄ½âÎöÖ®ºó£¬Ä㽫»ñµÃÒ»¸öË÷Òý£¨¼´ÔªËØ»º³åÇø£©£¬ËüÓÉͼÖÐËù±ê×¢µÄÔªËØµÄλÖᢳ¤¶ÈºÍÔªËØÀàÐÍÐÅÏ¢Ëù×é³É¡£½ÓÏÂÀ´Äã¾Í¿ÉÒÔ¶Ô¸ÃË÷Òý½øÐÐä¯ÀÀ£¬ÒÔÕÒ³ö¸ÃJSON¶ÔÏóÖÐÄãËùÐèµÄÊý¾Ý¡£
JsonTokenizer.parseToken()
ΪÁËÈÃÄãÁ˽âÁîÅÆÉú³ÉÆ÷ºÍ½âÎö¹¤×÷ÊÇÈçºÎʵÏֵģ¬ÎÒ»áΪÄãչʾJsonTokenizerºÍJsonParserÖеĺËÐÄ´úÂë¡£Çë¼ÇµÃÈ¥GithubÏÂÔØÍêÕûµÄ´úÂë¡£
ÒÔÏÂÊÇJsonTokenizer.parseToken()·½·¨µÄʵÏÖ£¬Ëü½«¸ºÔð½âÎöÊý¾Ý»º³åÇøÖеÄÏÂÒ»¸öÁîÅÆ£º
public void parseToken() {
skipWhiteSpace();
this.tokenLength = 0;
this.tokenBuffer.position[this.tokenIndex] = this.dataPosition;
char nextChar = this.dataBuffer.data[this.dataPosition];
switch(nextChar) {
case '{' :
this.tokenLength = 1;
this.tokenBuffer.type[this.tokenIndex] =
TokenTypes.JSON_CURLY_BRACKET_LEFT;
break;
case '}' :
this.tokenLength = 1;
this.tokenBuffer.type[this.tokenIndex] =
TokenTypes.JSON_CURLY_BRACKET_RIGHT;
break;
case '[' :
this.tokenLength = 1;
this.tokenBuffer.type[this.tokenIndex] =
TokenTypes.JSON_SQUARE_BRACKET_LEFT ;
break;
case ']' :
this.tokenLength = 1;
this.tokenBuffer.type[this.tokenIndex] =
TokenTypes.JSON_SQUARE_BRACKET_RIGHT;
break;
case ',' :
this.tokenLength = 1;
this.tokenBuffer.type[this.tokenIndex] = TokenTypes.JSON_COMMA;
break;
case ':' :
this.tokenLength = 1;
this.tokenBuffer.type[this.tokenIndex] = TokenTypes.JSON_COLON;
break;
case '"' :
parseStringToken();
this.tokenBuffer.type[this.tokenIndex] = TokenTypes.JSON_STRING_TOKEN;
break;
default :
parseStringToken();
this.tokenBuffer.type[this.tokenIndex] = TokenTypes.JSON_STRING_TOKEN;
}
this.tokenBuffer.length[this.tokenIndex] = this.tokenLength;
}
|
ÈçÄãËù¼û£¬Õⲿ·Ö´úÂë·Ç³£¼òµ¥¡£ÎÒÃǵÚÒ»²½Ê×Ïȵ÷ÓÃskipWhiteSpace()·½·¨£¬Ëü½«ºöÂÔµ±Ç°Î»ÖõÄÊý¾ÝÖеĿոñ×Ö·û¡£µÚ¶þ²½Êǽ«ÁîÅÆ³¤¶ÈÉèΪ0¡£µÚÈý²½£¬½«µ±Ç°ÁîÅÆµÄλÖã¨Êý¾Ý»º³åÇøÖеÄÏà¶ÔλÖ㩱£´æÔÚTokenBufferÖС£µÚËIJ½£¬¶ÔÏÂÒ»¸ö×Ö·û½øÐзÖÎö£¬¸ù¾Ý×Ö·ûÖÖÀࣨ¼´ÁîÅÆÖÖÀࣩµÄ²»Í¬£¬½«Ö´ÐÐswitch¡ªcase½á¹¹ÖеÄijÌõÓï¾ä¡£×îºó£¬½«µ±Ç°ÁîÅÆµÄ³¤¶È±£´æÆðÀ´¡£
ÒÔÉϾÍÊÇΪÊý¾Ý»º³åÇøÉú³ÉÁîÅÆµÄÈ«²¿¹¤×÷ÁË£¬Çë×¢Ò⣬µ±ÕÒµ½ÁËij¸ö×Ö·û´®ÁîÅÆµÄ¿ªÍ·²¿·ÖÖ®ºó£¬ÁîÅÆÉú³ÉÆ÷¾Í»áµ÷ÓÃparseStringToken()·½·¨£¬Ëü»á¶ÔÊý¾Ý½øÐÐÍêÕûµÄɨÃ裬ֱµ½ÕÒµ½Á˸Ã×Ö·û´®ÁîÅÆµÄ½áÊøÎªÖ¹¡£ÕâÖÖ·½Ê½±ÈÆðÔÚparseToken()·½·¨ÖнøÐи÷ÖÖÌõ¼þÅжϲ¢´¦Àí¸÷ÖÖ²»Í¬Çé¿öÖ´Ðеûá¸ü¿ì£¬¶øÇÒʵÏÖÒ²¸ü¼ÓÈÝÒס£
JsonTokenizerÖÐÆäÓàµÄ·½·¨¶¼ÊÇparseToken()µÄ¸¨Öú·½·¨£¬»òÕßÊǽ«Êý¾ÝµÄλÖÃÒÆÖÁÏÂÒ»¸öÁîÅÆ£¨¼´µ±Ç°ÁîÅÆÖ®ºóµÄµÚÒ»¸öλÖã©£¬µÈµÈ¡£
JsonParser.parseObject()
JsonParserÀàµÄÖ÷Òª·½·¨ÊÇparseObject()£¬Ëü»á¼ì²éJsonTokenizerÖÐÁîÅÆµÄÀàÐÍ£¬²¢³¢ÊÔÔÚÊäÈëÊý¾ÝÖвéÕÒ¸ÃÀàÐ͵ÄJSON¶ÔÏó¡£
ÒÔÏÂÊÇparseObject()·½·¨µÄʵÏÖ£º
private void parseObject(JsonTokenizer tokenizer) {
assertHasMoreTokens(tokenizer);
tokenizer.parseToken();
assertThisTokenType(tokenizer, TokenTypes.JSON_CURLY_BRACKET_LEFT);
setElementData (tokenizer, ElementTypes.JSON_OBJECT_START);
tokenizer.nextToken();
tokenizer.parseToken();
while( tokenizer.tokenType() != TokenTypes.JSON_CURLY_BRACKET_RIGHT) {
assertThisTokenType(tokenizer, TokenTypes.JSON_STRING_TOKEN);
setElementData(tokenizer, ElementTypes.JSON_PROPERTY_NAME);
tokenizer.nextToken();
tokenizer.parseToken();
assertThisTokenType(tokenizer, TokenTypes.JSON_COLON);
tokenizer.nextToken();
tokenizer.parseToken();
if(tokenizer.tokenType() == TokenTypes.JSON_STRING_TOKEN) {
setElementData(tokenizer, ElementTypes.JSON_PROPERTY_VALUE);
} else if(tokenizer.tokenType() == TokenTypes.JSON_SQUARE_BRACKET_LEFT) {
parseArray(tokenizer);
}
tokenizer.nextToken();
tokenizer.parseToken();
if(tokenizer.tokenType() == TokenTypes.JSON_COMMA) {
tokenizer.nextToken(); //skip , tokens if found here.
tokenizer.parseToken();
}
}
setElementData(tokenizer, ElementTypes.JSON_OBJECT_END);
}
private void setElementData(JsonTokenizer tokenizer, byte elementType) {
this.elementBuffer.position[this.elementIndex] = tokenizer.tokenPosition();
this.elementBuffer.length [this.elementIndex] = tokenizer.tokenLength();
this.elementBuffer.type [this.elementIndex] = elementType;
this.elementIndex++;
}
|
parseObject()·½·¨Äܹ»½ÓÊܵÄÐÅÏ¢°üÀ¨£ºÒ»¸ö×ó´óÀ¨£¨{£©ºó½Ó×ÅÒ»¸ö×Ö·û´®ÁîÅÆ£»»òÊÇÒ»¸ö¶ººÅºó¸ú×ÅÒ»¸ö×Ö·û´®ÁîÅÆ£»»òÊÇij¸öÊý×éµÄ¿ªÊ¼·ûºÅ£¨[£©£»»òÊÇÁíÒ»¸öJSON¶ÔÏó¡£µ±JsonParser´ÓJsonTokenizerÖлñµÃÁËÕâЩÁîÅÆÖ®ºó£¬¾Í½«ËüÃǵĿªÊ¼Î»Öᢳ¤¶ÈºÍÓïÒåÐÅÏ¢±£´æÔÚËü×Ô¼ºµÄelementBuffer×Ö¶ÎÖС£Êý¾Ý´¦Àí´úÂë¾Í¿ÉÒÔËæºóä¯ÀÀelementBufferÖеÄÐÅÏ¢£¬´ÓÊäÈëÊý¾ÝÖлñÈ¡ËùÐèµÄÊý¾ÝÁË¡£
¿´¹ýÁËJsonTokenizerºÍJsonParserµÄºËÐÄ´úÂ벿·ÖÖ®ºó£¬ÄãÓ¦¸Ã¶ÔÁîÅÆÉú³ÉÆ÷ºÍ½âÎöÆ÷µÄ¹¤×÷·½Ê½ÓÐËùÁ˽âÁË¡£Èç¹ûÒªÍêÕûµØÁ˽â´úÂëµÄ¹¤×÷·½Ê½£¬Äã¿ÉÄÜÐèÒª²é¿´JsonTokenizerºÍJsonParserµÄÍêÕûʵÏÖ¡£ËüÃǵĴúÂë¶¼²»³¬¹ý115ÐУ¬Àí½âËüÃÇÓ¦¸Ã²»ÊÇÄÑÊ¡£
ÐÔÄÜ»ù×¼²âÊÔ
VTD-XMLÒѾΪËüµÄXML½âÎöÆ÷ÓëStAX¡¢SAXºÍDOM½âÎöÆ÷½øÐйý´óÁ¿µÄÐÔÄÜ»ù×¼±È½Ï²âÊÔÁË£¬´ÓÐÔÄÜÉÏÀ´¿´VTD-XMLÎÞÒÉÊÇ×î´óµÄÓ®¼Ò¡£
ΪÁËÈÃʹÓÃÕß¶ÔË÷Òý¸²¸Ç½âÎöÆ÷µÄÐÔÄܽ¨Á¢ÆðÐÅÐÄ£¬ÎÒÒ²¶ÔÎÒµÄJSON½âÎöÆ÷ʵÏÖÓëGoogleµÄJSON½âÎöÆ÷¡ª¡ªGSON£¬½øÐÐÁËÐÔÄܶԱȡ£GSONµÄ·½Ê½ÊÇ´Óij¸öJSONÊäÈ루×Ö·û´®»òÁ÷£©Öд´½¨Ò»¿Ã¶ÔÏóÊ÷¡£
Çë¼Çס£¬GSONÊÇÒ»¸ö·Ç³£³ÉÊìµÄ²úÆ·£¬Æ·ÖÊÓÅÐ㣬¾¹ýÁË´óÁ¿µÄ²âÊÔ£¬²¢ÇÒ½ÓÊÜÓû§µÄ´íÎ󱨸档¶øÎÒµÄJSON½âÎöÆ÷»¹Ö»ÊÇ´¦ÓÚ¸ÅÄî²úÆ·µÄ¼¶±ð¡£Õâ´Î²âÊÔ½ö½öÊǶÔÐÔÄܵıíÏÖ£¬Õâ¸ö½á¹ûÒ²²»´ú±í×îÖյĽáÂÛ¡£Ò²Çë×¢ÒâÔĶÁ¸Ã²âÊÔµÄÏà¹ØÌÖÂÛ¡£
ÕâÀïÓÐһЩ¹ØÓÚ¹¹½¨¸Ã²âÊԵľßÌåϸ½Ú£º
1.ΪÁËʹJITÔ¤ÈÈÒÔ¼õÉÙÆô¶¯Ê±µÄ¸ºÔØ£¬¶Ô¸ÃJSONµÄÊäÈë½âÎöÒ»¹²ÔËÐÐÁË1ǧÍò´Î¡£
2.¸Ã²âÊÔÒ»¹²¶ÔÈý¸ö²»Í¬µÄÎļþÖØ¸´ÔËÐÐÁËÏàͬµÄ´ÎÊý£¬ÒÔ²âÊÔ½âÎöÆ÷½âÎöСÎļþ¡¢ÖеÈÎļþºÍ´óÎļþµÄЧ¹û¡£ÎļþµÄ´óС·Ö±ðΪ64×Ö½Ú¡¢406×Ö½ÚºÍ1012×Ö½Ú¡£Òò´Ë²âÊԵĹý³Ì¾ÍÊÇÊ×ÏȶÔСÎļþ½øÐÐ1ǧÍò´Î½âÎö£¬²¢·ÖÎöÆä½á¹û£¬È»ºó½âÎöÖеÈÎļþ²¢·ÖÎö½á¹û£¬×îºóÊǽâÎö´óÎļþ²¢·ÖÎö½á¹û¡£
3.ÔÚ½âÎöºÍ·ÖÎö¹¤×÷¿ªÊ¼Ç°£¬ÎļþÒѾȫ²¿¼ÓÔØµ½ÄÚ´æÖУ¬Òò´Ë±ÜÃâÁ˽«Îļþ¼ÓÔØµÄʱ¼äËãµ½Õû¸ö½âÎöʱ¼äÀï¡£
4.¶Ô1ǧÍò´Î½âÎöµÄ·ÖÎö¹ý³Ì»áÔÚ×Ô¼ºµÄ½ø³ÌÖнøÐУ¬ÕâÒâζ×Åÿ¸öÎļþ¶¼ÔÚ¶ÀÁ¢µÄ½ø³ÌÖнøÐнâÎö£¬ÔÚÿ¸öʱ¼äµãÖ»ÓÐÒ»¸öÎļþÔÚ½øÐнâÎö¡£
5.ÿ¸öÎļþ»á½øÐÐ3´Î·ÖÎö£¬Òò´Ë¶ÔÎļþµÄ1ǧÍò´Î½âÎö¹¤×÷Ò»¹²»á½øÐÐ3´Î£¬Ã¿1´ÎµÄ·ÖÎö¹¤×÷ÊÇ˳Ðò½øÐе쬶øÃ»ÓвÉÓò¢Ðз½Ê½¡£
²âÊÔ½á¹û±í¸ñ°üÀ¨ÒÔÏÂÈýÁУº
1.ÔʼÊý¾Ý»º³åÇøµÄµü´úÊýÄ¿
2.JSON½âÎöÆ÷
3.GSON
µÚÒ»ÁÐÖеÄÄÚÈÝÊÇÔʼÊý¾Ý»º³åÇøÖеÄËùÓÐÊý¾ÝµÄµü´úÊýÄ¿£¬Õâ¸öÊý×Ö½ö½öÊÇÓÃÒÔ±íʾ¼«ÏÞµÄ×îСʱ¼ä£¬¼´ÀíÂÛÉÏ´¦ÀíËùÓÐÕâЩÊý¾ÝµÄ×îСʱ¼ä¡£µ±È»²»¿ÉÄÜÓÐÈκνâÎöÆ÷Äܹ»´ïµ½ÕâÒ»ËÙ¶È£¬²»¹ýÕâ¸öÊý×ÖÄܹ»Æðµ½²ÎÕÕ×÷Óã¬ÒÔÏÔʾ³ö½âÎöÆ÷ºÍÔʼµü´úËٶȵIJî¾à¡£µÚ¶þÁÐÖÐÏÔʾÁËÎÒµÄJSON½âÎöÆ÷µÄÔËÐÐʱ¼ä£¬µÚÈýÁÐÔòÊÇGoogleµÄGSON½âÎöÆ÷µÄÔËÐÐʱ¼ä¡£
ÒÔÏÂÊý¾ÝÊǶÔÈý¸öÎļþ£¨64×Ö½Ú¡¢406×Ö½Ú¡¢1012×Ö½Ú£©¸÷ÔËÐÐ1ǧÍò´Î½âÎöËùÐèµÄºÁÃëÊý£º

ÈçÄãËù¼û£¬Ë÷Òý¸²¸ÇµÄʵÏÖ±ÈÆðGSON£¨Ò»ÖÖ¶ÔÏóJSON½âÎöÆ÷£©Òª¿ìµÃ¶à¡£ËäÈ»½á¹ûÔÚÔ¤¼ÆÖ®ÖУ¬²»¹ýÄãÏÖÔÚÄܹ»Á˽⵽ËüÃǵÄÐÔÄܲî¾àµ½µ×Óжà´óÁË¡£
ÖµµÃ×¢ÒâµÄÒ»µãÊÇ£¬ÔÚ²âÊÔ½ø³ÌµÄÖ´Ðйý³ÌÖУ¬ÄÚ´æÕ¼ÓõÄÖ¸±êÒ»Ö±·Ç³£Îȶ¨¡£¾¡¹ÜGSON´´½¨ÁË´óÁ¿µÄ¶ÔÏóÊ÷£¬µ«ËüµÄÄÚ´æÕ¼Óò¢Ã»Óзè¿ñµØÔö³¤¡£¶øË÷Òý¸²¸Ç·½Ê½µÄÄÚ´æÕ¼ÓÃÒ²·Ç³£Îȶ¨£¬±ÈÆðGSON»¹ÒªÐ¡ÁË1Õ××óÓÒ£¬ÕâÓпÉÄÜÊÇÒòΪ¼ÓÔØµ½JVMÖеÄGSON´úÂë¿â½Ï´óµÄÔµ¹Ê¡£
¹ØÓÚ²âÊÔ½á¹û
Èç¹ûÎÒÃÇÖ»ÊǼòµ¥µØËµ¶ÔÒ»¸öΪÊý¾Ý´´½¨¶ÔÏóÊ÷µÄ½âÎöÆ÷£¨GSON£©ºÍÒ»¸ö±ê¼Ç³öÊý¾ÝÖÐËùÕÒµ½µÄÔªËØÎ»ÖõĽâÎöÆ÷½øÐбȽϣ¬ÕâÖÖ˵·¨ÓÐÇ·¹«Æ½¡£ÎÒÃÇ»¹ÐèÒª·ÖÎöһϾßÌå±È½ÏÁËÄÄЩÄÚÈÝ¡£
ÔÚÒ»¸öÔËÐÐÖеÄÓ¦ÓóÌÐò¶ÔÎļþ½øÐнâÎöͨ³£°üº¬ÒÔϲ½Ö裺

Ê×ÏÈ´Ó´ÅÅÌ»òÕßÍøÂçÉϼÓÔØÊý¾Ý£¬È»ºó¶ÔÊý¾Ý½øÐнâÎö£¬×îºó½øÐÐÊý¾Ý´¦Àí¡£
ΪÁË׼ȷ²âÁ¿Êý¾Ý½âÎö²¿·ÖµÄËÙ¶È£¬ÎÒ½«±»½âÎöµÄÎļþÔ¤ÏȼÓÔØÈëÄÚ´æÖУ¬²¢ÇÒ²âÊÔ´úÂë¶ÔÊý¾ÝÍêÈ«²»×öÈκδ¦Àí¡£ÕâÖÖ·½Ê½ËäÈ»²âÁ¿ÁË´¿´âµÄ½âÎöËÙ¶È£¬µ«ÕâÒ»ÐÔÄܲî±ð²¢²»ÄÜ´ú±íÔÚʵ¼ÊÔËÐÐÖеÄÓ¦ÓóÌÐòÒ»¶¨»á»ñµÃ¸üºÃµÄÐÔÄÜ£¬ÔÒòÈçÏ£º
Ò»¸öÁ÷½âÎöÆ÷ͨ³£Äܹ»ÔÚËùÓÐÊý¾Ý¼ÓÔØµ½ÄÚ´æÖ®Ç°¾Í¿ªÊ¼½âÎöÕýÔÚ¼ÓÔØÖеÄÊý¾Ý£¬¶øÎÒµÄJSON½âÎöÆ÷Ŀǰ»¹Ã»ÓÐʵÏÖÕâÒ»¹¦ÄÜ£¬ÕâÒâζ×ÅËäÈ»ËüÔÚµ¥´¿µÄ½âÎöËÙ¶ÈÉÏÒª¿ìÉÏÒ»³ï£¬µ«ÔËÓÃÔÚʵ¼ÊÔËÐÐÖеÄÓ¦ÓóÌÐòÉÏʱ£¬ÓÉÓÚËü±ØÐëµÈ´ýËùÓÐÊý¾Ý¼ÓÔØÍê³É£¬Òò´ËÕæÊµµÄÍê³ÉËٶȲ»Ò»¶¨»á¸ü¿ì¡£ÏÂͼ¾Í±íÏÖÁËÕâÒ»¹ý³Ì£º

ΪÁ˼ӿìÕûÌåµÄ½âÎöËÙ¶È£¬ÄãÒ²¿ÉÒÔ¶ÔÎҵĽâÎöÆ÷½øÐÐһЩÐ޸ģ¬ÈÃËüÄܹ»±ß¼ÓÔØÊý¾Ý±ß½øÐнâÎö£¬²»¹ýÕâÑù×öÒ²Ðí»áÉÔÉÔ½µµÍµ¥´¿µÄ½âÎöÐÔÄÜ¡£µ±È»£¬×îÖÕµÄÔËÐÐËÙ¶È»òÕß»¹Êǵõ½Ò»Ð©ÌáÉý¡£
ÓëÉÏÃæµÄÇé¿öÀàËÆµÄÊÇ£¬ÎÒµÄJSON½âÎöÆ÷¶ÔÒѽâÎöµÄÊý¾ÝҲûÓнøÐÐÈκδ¦Àí¡£Èç¹ûÄãÐèÒª´Ó´óÁ¿µÄÒѽâÎöÊý¾ÝÖгéÈ¡×Ö·û´®£¬ÄÇôGSONÒѾΪÄãµÄÐèÇó×öºÃÁË×¼±¸¹¤×÷£¬ÒòΪËüÒѾΪÒѽâÎöÊý¾Ý´´½¨ÁËÒ»¿Ã¶ÔÏóÊ÷¡£ÏÂͼ¾Í±íÏÖÁËÕâÒ»¹ý³Ì£º

Èç¹ûÄã´òËãʹÓÃGSON£¬ÄÇôËü»òÐíÒѾΪÄãʵÏÖÁËÔÚÊý¾Ý´¦ÀíÖÐËùÐèµÄÊý¾Ý³éÈ¡¹ý³Ì£¬Èç¹ûÕû¸öÊý¾Ý´¦Àí¹ý³Ì¿ÉÒÔÊ¡ÂÔÊý¾Ý³éÈ¡£¨ÀýÈç³éȡΪ×Ö·û´®£©ÕâÒ»²½Ö裬ÄÇôËüµÄÕûÌåËÙ¶È»¹ÒªÔÙ¿ìÒ»µã¡£
Òò´Ë£¬ÎªÁË׼ȷµØ²âÁ¿½âÎöÆ÷¶ÔÄãµÄÓ¦ÓóÌÐòµÄÓ°Ï죬Äã±ØÐ뽫²»Í¬µÄ½âÎöÆ÷ÔÚÄãµÄÓ¦ÓóÌÐòÖеıíÏÖ½øÐвâÁ¿¡£ÎÒÈÔȻȷÐÅʹÓÃË÷Òý¸²¸Ç½âÎöÆ÷µÄËÙ¶ÈÒª¸ü¿ì£¬µ«¾ßÌåÓжàÉÙ²î¾à»¹²»ºÃ˵¡£
¶ÔË÷Òý¸²¸Ç½âÎöÆ÷µÄ×ÜÌåÌÖÂÛ
ÎÒ¾³£Ìýµ½Ò»ÖÖ¹ØÓÚË÷Òý¸²¸Ç½âÎöÆ÷µÄÕùÂÛ£¬ÕâÖÖ˵·¨ÈÏΪÓÉÓÚË÷Òý¸²¸Ç½âÎöÆ÷ΪÁËʵÏÖ¶ÔÔʼÊý¾ÝµÄË÷Òý£¬¶ø²»Êǽ«ÔʼÊý¾Ý³éȡΪ¶ÔÏóÊ÷£¬ËüÔÚ½âÎöʱ±ØÐ뽫ËùÓÐÊý¾Ý¶ÁÈëÄÚ´æÖУ¬ÕâÖÖ·½Ê½ÔÚ½âÎö´óÎļþʱ»á¶ÔÄÚ´æ²úÉúºÜ´óµÄ¸ºµ£¡£
ÕâÖÖ˵·¨Æäʵ¾ÍÊDZíÃ÷ÁËÁ÷½âÎöÆ÷£¨ÀýÈçSAX»òStAX£©Äܹ»½âÎö¾Þ´óµÄÎļþ£¬¶ø²»ÐèÒª½«Õû¸öÎļþ¶ÁÈëÄÚ´æÖС£µ«ÕâÖÖ˵·¨³ÉÁ¢µÄǰÌáÊÇ£¬¸ÃÎļþÖеÄÊý¾Ý¿ÉÒÔ·ÖΪ¶à¸öС¿é½øÐнâÎöÓë´¦Àí£¬¶øÇÒÿ¸öС¿é¿ÉÒÔ¶ÀÁ¢µØ±»½âÎöÓë´¦Àí¡£¾ÙÀýÀ´Ëµ£¬Ò»¸ö´óXMLÎļþ°üº¬ÁËһϵÁеÄÔªËØ£¬Ã¿¸öÔªËØ¶¼¿ÉÒÔ½øÐжÀÁ¢µÄ½âÎöºÍ´¦Àí£¨ÀàËÆÓÚÒ»¸öÈÕÖ¾¼Ç¼¼¯ºÏ£©¡£µ«Èç¹ûÄãµÄÊý¾Ý¿ÉÒÔÒÔ¶ÀÁ¢µÄС¿é½øÐзֱð½âÎöµÄ»°£¬ÄÇôÄãÒ²ÍêÈ«¿ÉÒÔʵÏÖÒ»¸öÄܹ»×öµ½ÕâÒ»µãµÄË÷Òý¸²¸Ç½âÎöÆ÷¡£
¶øÈç¹û¸ÃÎļþ²»Äܹ»·Ö½âΪ¶à¸ö¶ÀÁ¢µÄС¿é½øÐнâÎöµÄ»°£¬ÄÇÎÞÂÛÈçºÎÄã±ØÐ뽫ÐÅÏ¢¼ÓÔØµ½Ä³ÖֽṹÖУ¬ÒÔ±ã´úÂëÔÚ´¦ÀíÖ®ºóµÄС¿éʱ·ÃÎÊÕâÒ»²¿·ÖÐÅÏ¢¡£¶øÈç¹ûÄãÄܹ»ÔÚÁ÷½âÎöÆ÷ÖÐ×öµ½ÕâÒ»µãµÄ»°£¬ÄÇôҲͬÑù¿ÉÒÔÔÚÒ»¸öË÷Òý¸²¸Ç½âÎöÆ÷×öµ½ÕâÒ»µã¡£
ÄÇЩΪÊäÈëÊý¾Ý´´½¨¶ÔÏóÊ÷µÄ½âÎöÆ÷ÍùÍù»áÕ¼Óøü´óµÄÄڴ棬ÒòΪ¶ÔÏóÊ÷µÄÄÚ´æÕ¼Óûᳬ¹ýÔʼÊý¾ÝµÄ³ß´ç¡£ÆäÔÒòÔÚÓÚ²»½öÿ¸ö¶ÔÏóʵÀý»áÕ¼ÓÃÄÚÔÚ£¬¶øÇÒ¶ÔÏóÖ®¼äµÄÒýÓÃÒ²Õ¼ÓÃÁËÒ»²¿·ÖÄÚ´æÊý¾Ý¡£
´ËÍ⣬ÓÉÓÚËùÓÐÊý¾Ý±ØÐëÒ»´ÎÐÔÈ«²¿¼ÓÔØµ½ÄÚ´æÖУ¬Òò´ËÄãÐèÒªÔ¤ÏÈΪÊý¾Ý»º³åÇøÔ¤Áô×ãÒÔ±£´æÈ«²¿Êý¾ÝµÄ¿Õ¼ä¡£µ«Èç¹ûÔÚ¿ªÊ¼½âÎöij¸öÎļþµÄÊý¾Ýʱ£¬Ä㻹²»ÖªµÀÕû¸öÎļþµÄ´óС£¬ÓÖ¸ÃÔõô×öÄØ£¿
¼ÙÉèÄãÓÐÒ»¸öÔÊÐíÓû§ÉÏ´«ÎļþµÄwebÓ¦ÓóÌÐò£¨»òÕßÊÇweb service£¬»òÆäËüÀàÐ͵ķþÎñ¶ËÓ¦ÓóÌÐò£©£¬ÄãºÜÄÑÅжÏÕâЩÎļþ»áÓжà´ó£¬ÄÇÓÖÈçºÎÄܹ»ÔÚ¿ªÊ¼½âÎö֮ǰΪËüÃÇ·ÖÅä×ã¹»´óСµÄ»º³åÇøÄØ£¿µ±È»£¬³öÓÚ°²È«ÐԵĿ¼ÂÇ£¬ÄãÓ¦¸ÃÉ趨һ¸öÔÊÐíÉÏ´«ÎļþµÄ×î´ó³ß´ç£¬·ñÔòÓû§¿ÉÒÔͨ¹ýÉÏ´«³¬´óÎļþʹÄãµÄϵͳÍêÈ«±ÀÀ££¬»òÕß±àдһ¶Î³ÌÐòÒÔÄ£Äâä¯ÀÀÆ÷ÉÏ´«ÎļþµÄ²Ù×÷£¬ÈÃÕâ¶Î³ÌÐò²»Í£µØÏòÄãµÄ·þÎñÆ÷·¢ËÍÊý¾Ý¡£Äã¿ÉÒÔ¿¼ÂÇΪ»º³åÇø·ÖÅäÓëÔÊÐíÉÏ´«ÎļþµÄ×î´ó³ß´çÏàͬµÄÖµ£¬ÕâÑù¿ÉÒÔ±£Ö¤ÄãµÄ»º³åÇø¶ÔÓÚÓÐЧµÄÉÏ´«²»»áÕ¼ÓÃËùÓеÄÄÚ´æ¡£Èç¹û»º³åµÄ³ß´çÕæµÄ¹ý´ó£¬ÄÇÒ»¶¨ÊÇÒòΪÄãµÄÓû§ÉÏ´«Á˳¬´óµÄÎļþ¡£
|