JavaÓëXMLÁªºÏ±à³ÌÖ®SAXƪ
ת×Ôhttp://www0.ccidnet.com/tech/guide/2001/10/08/58_3392.html
SAX¸ÅÄî
SAXÊÇSimple API for XMLµÄËõд£¬Ëü²¢²»ÊÇÓÉW3C¹Ù·½ËùÌá³öµÄ±ê×¼£¬¿ÉÒÔ˵ÊÇ“Ãñ¼ä”µÄÊÂʵ±ê×¼¡£Êµ¼ÊÉÏ£¬ËüÊÇÒ»ÖÖÉçÇøÐÔÖʵÄÌÖÂÛ²úÎï¡£ËäÈ»Èç´Ë£¬ÔÚXMLÖжÔSAXµÄÓ¦ÓÃË¿ºÁ²»±ÈDOMÉÙ£¬¼¸ºõËùÓеÄXML½âÎöÆ÷¶¼»áÖ§³ÖËü¡£
ÓëDOM±È½Ï¶øÑÔ£¬SAXÊÇÒ»ÖÖÇáÁ¿Ð͵ķ½·¨¡£ÎÒÃÇÖªµÀ£¬ÔÚ´¦ÀíDOMµÄʱºò£¬ÎÒÃÇÐèÒª¶ÁÈëÕû¸öµÄXMLÎĵµ£¬È»ºóÔÚÄÚ´æÖд´½¨DOMÊ÷£¬Éú³ÉDOMÊ÷ÉϵÄÿ¸öNode¶ÔÏó¡£µ±Îĵµ±È½ÏСµÄʱºò£¬Õâ²»»áÔì³ÉʲôÎÊÌ⣬µ«ÊÇÒ»µ©Îĵµ´óÆðÀ´£¬´¦ÀíDOM¾Í»á±äµÃÏ൱·Ñʱ·ÑÁ¦¡£ÌرðÊÇÆä¶ÔÓÚÄÚ´æµÄÐèÇó£¬Ò²½«Êdzɱ¶µÄÔö³¤£¬ÒÔÖÁÓÚÔÚijЩӦÓÃÖÐʹÓÃDOMÊÇÒ»¼þºÜ²»»®ËãµÄÊ£¨±ÈÈçÔÚappletÖУ©¡£Õâʱºò£¬Ò»¸ö½ÏºÃµÄÌæ´ú½â¾ö·½·¨¾ÍÊÇSAX¡£
SAXÔÚ¸ÅÄîÉÏÓëDOMÍêÈ«²»Í¬¡£Ê×ÏÈ£¬²»Í¬ÓÚDOMµÄÎĵµÇý¶¯£¬ËüÊÇʼþÇý¶¯µÄ£¬Ò²¾ÍÊÇ˵£¬Ëü²¢²»ÐèÒª¶ÁÈëÕû¸öÎĵµ£¬¶øÎĵµµÄ¶ÁÈë¹ý³ÌÒ²¾ÍÊÇSAXµÄ½âÎö¹ý³Ì¡£ËùνʼþÇý¶¯£¬ÊÇÖ¸Ò»ÖÖ»ùÓڻص÷£¨callback£©»úÖÆµÄ³ÌÐòÔËÐз½·¨¡££¨Èç¹ûÄã¶ÔJavaеĴúÀíʼþÄ£ÐͱȽÏÇå³þµÄ»°£¬¾Í»áºÜÈÝÒ×Àí½âÕâÖÖ»úÖÆÁË£©
ÔÚXMLReader½ÓÊÜXMLÎĵµ£¬ÔÚ¶ÁÈëXMLÎĵµµÄ¹ý³ÌÖоͽøÐнâÎö£¬Ò²¾ÍÊÇ˵¶ÁÈëÎĵµµÄ¹ý³ÌºÍ½âÎöµÄ¹ý³ÌÊÇͬʱ½øÐеģ¬ÕâºÍDOMÇø±ðºÜ´ó¡£½âÎö¿ªÊ¼Ö®Ç°£¬ÐèÒªÏòXMLReader×¢²áÒ»¸öContentHandler£¬Ò²¾ÍÊÇÏ൱ÓÚÒ»¸öʼþ¼àÌýÆ÷£¬ÔÚContentHandlerÖж¨ÒåÁ˺ܶ෽·¨£¬±ÈÈçstartDocument()£¬Ëü¶¨ÖÆÁ˵±ÔÚ½âÎö¹ý³ÌÖУ¬Óöµ½Îĵµ¿ªÊ¼Ê±Ó¦¸Ã´¦ÀíµÄÊÂÇé¡£µ±XMLReader¶Áµ½ºÏÊʵÄÄÚÈÝ£¬¾Í»áÅ׳öÏàÓ¦µÄʼþ£¬²¢°ÑÕâ¸öʼþµÄ´¦ÀíȨ´úÀí¸øContentHandler£¬µ÷ÓÃÆäÏàÓ¦µÄ·½·¨½øÐÐÏìÓ¦¡£
ÕâÑù·º·ºµÄ˵À´»òÐíÓÐЩ²»ÈÝÒ×Àí½â£¬±ð¼±£¬ºóÃæµÄÀý×Ó»áÈÃÄãÃ÷°×SAXµÄ½âÎö¹ý³Ì¡£¿´¿´Õâ¸ö¼òµ¥XMLÎļþ£º
<POEM>
<AUTHOR>Ogden Nash</AUTHOR>
<TITLE>Fleas</TITLE>
<LINE>Adam</LINE>
</POEM>
µ±XMLReader¶Áµ½<POEM>±êǩʱ£¬¾Í»áµ÷ÓÃContentHandler.startElement()·½·¨£¬²¢°Ñ±êÇ©ÃûPOEM×÷Ϊ²ÎÊý´«µÝ¹ýÈ¥¡£ÔÚÄãʵÏÖµÄstartElement()·½·¨ÖÐÐèÒª×öÏàÓ¦µÄ¶¯×÷£¬ÒÔ´¦Àíµ±<POEM>³öÏÖʱӦ¸Ã×öµÄÊÂÇé¡£¸÷¸öʼþËæ×ŽâÎöµÄ¹ý³Ì£¨Ò²¾ÍÊÇÎĵµ¶ÁÈëµÄ¹ý³Ì£©Ò»¸ö¸ö˳ÐòµÄ±»Å׳ö£¬ÏàÓ¦µÄ·½·¨Ò²»á±»Ë³ÐòµÄµ÷Óã¬×îºó£¬µ±½âÎöÍê³É£¬·½·¨¶¼±»µ÷Óú󣬶ÔÎĵµµÄ´¦ÀíÒ²¾ÍÍê³ÉÁË¡£ÏÂÃæµÄÕâ¸ö±í£¬ÁгöÁËÔÚ½âÎöÉÏÃæµÄÄǸöXMLÎļþµÄÊ
Ïà¹ØÎĵµ£º
By ³å³öÓîÖæ from °Á¶û¿Æ¼¼(www.hour41.com)
ʱ¼ä£º2006-11-17
×¢£º×ªÔØÇë×¢Ã÷×÷Õߺ͵¥Î»¡£
JavaÓïÑÔ±ê×¼´Ó1996Äê·¢²¼µÚÒ»°æ£¬µ½2000Äê·¢²¼µÚ¶þ°æ£¬ÔÙµ½2004Äê·¢²¼µÚÈý°æ£¬javaÓïÑÔÒѾ¾¹ýÁË3´Î´óµÄÀ©³äºÍ¸Ä½ø¡£¹¦ÄÜÊÇÔ½À´Ô½¶à£¬²Ù×÷ÊÇÔ½À´Ô½¸´ÔÓ¡£ÏÔÈ»£¬ÐÔÄÜÎÊÌâÒ²¾ÍÔ½À´Ô½Í» ......
Ò»¡¢µ÷ÓÃÊôÐÔÎļþÊôÐԵĴúÂ룺
String url=SmsProperties.get("sms_address_frontend");//È¡µØÖ·Èç“sms_address_frontend=http://172.16.1.9:8280/sms_frontend/services/smsSenderWebService”
String smsServer = SmsProperties.get("sms_server_name");//·¢ËͶÌÐŵķþÎñÕ˺Å(ÕâÀï¿ÉÒÔÈ¡ÖÐÎÄÊôÐ ......
javaµÄ·¾¶ÈÃÐí¶àÈË£¬ÌرðÊdzõѧÕ߸е½ÃÔ»ó£¬ÎÒÕâÀïÔÙ½âÊÍһϡ£ÎÒÃÇ·Ö2¸ö½×¶Î£¬1ÊDZàÒë½×¶Î£¬2ÊÇÔËÐн׶Ρ£
Ò»¡¢±àÒë½×¶Î
Õâ¸öʱºò£¬ÎÒÃÇÒªÌṩ¸ø±àÒëÆ÷µÄÓÐ2¸ö·¾¶²ÎÊý£¬µÚÒ»¸öÊÇÔ´´úÂëÔÚÄÄÀҲ¾ÍÊÇ sourcepath,µÚ¶þ¸ö¾ÍÊÇÒÀÀµµÄÀàÔÚÄÄÀҲ¾ÍÊÇ classpath
ÎÒÃÇ¿´Ò»¸öÀý×Ó
d:\temp\TestCP\d1\p1\Class1 ......
ÌáÆðJavaÄÚ²¿ÀࣨInner Class£©¿ÉÄܺܶàÈ˲»Ì«ÊìϤ£¬Êµ¼ÊÉÏÀàËÆµÄ¸ÅÄîÔÚC++ÀïÒ²ÓУ¬ÄǾÍÊÇǶÌ×ÀࣨNested Class£©£¬¹ØÓÚÕâÁ½ÕßµÄÇø±ðÓëÁªÏµ£¬ÔÚÏÂÎÄÖлáÓжԱȡ£ÄÚ²¿Àà´Ó±íÃæÉÏ¿´£¬¾ÍÊÇÔÚÀàÖÐÓÖ¶¨ÒåÁËÒ»¸öÀࣨÏÂÎĻῴµ½£¬ÄÚ²¿Àà¿ÉÒÔÔÚºÜ¶àµØ·½¶¨Ò壩£¬¶øÊµ¼ÊÉϲ¢Ã»ÓÐÄÇô¼òµ¥£¬Õ§¿´ÉÏÈ¥ÄÚ²¿ÀàËÆºõÓÐЩ¶àÓ࣬ËüµÄÓô¦¶ÔÓÚ³õ ......