C++½âÎöXML
ÓÃmingw32-makeǰÐÞ¸ÄÒ»ÏÂmakefileÎļþ,¸ÄΪÈçÏÂ
# DEBUG can be set to YES to include debugging info, or NO otherwise(²»ÊÇDEBUG)
DEBUG := NO
# PROFILE can be set to YES to include profiling info, or NO otherwise
PROFILE := NO
# TINYXML_USE_STL can be used to turn on STL support. NO, then STL
# will not be used. YES will include the STL files.(ʹÓÃSTL,Ñ¡ÔñµÄ»°£¬Ôò¿ÉÒÔʹÓÃstd::string)
TINYXML_USE_STL := YES
Ò»¡¢ TinyXmlµÄÌØµã
TinyXmlÊÇÒ»¸ö»ùÓÚDOMÄ£Ð͵ġ¢·ÇÑéÖ¤µÄÇáÁ¿¼¶C++½âÊÍÆ÷¡£
1. SAXºÍDOM
ĿǰXMLµÄ½âÎöÖ÷ÒªÓÐÁ½´óÄ£ÐÍ£ºSAXºÍDOM¡£
ÆäÖÐSAXÊÇ»ùÓÚʼþµÄ£¬Æä»ù±¾¹¤×÷Á÷³ÌÊÇ·ÖÎöXMLÎĵµ£¬µ±·¢ÏÖÁËÒ»¸öеÄÔªËØÊ±£¬²úÉúÒ»¸ö¶ÔӦʼþ£¬²¢µ÷ÓÃÏàÓ¦µÄÓû§´¦Àíº¯Êý¡£ÕâÖÖ·½Ê½Õ¼ÓÃÄÚ´æÉÙ£¬Ëٶȿ죬µ«Óû§³ÌÐòÏàÓ¦µÃ»á±È½Ï¸´ÔÓ¡£
¶øDOM£¨Îĵµ¶ÔÏóÄ£ÐÍ£©£¬ÔòÊÇÔÚ·ÖÎöʱ£¬Ò»´ÎÐԵĽ«Õû¸öXMLÎĵµ½øÐзÖÎö£¬²¢ÔÚÄÚ´æÖÐÐγɶÔÓ¦µÄÊ÷½á¹¹£¬Í¬Ê±£¬ÏòÓû§ÌṩһϵÁеĽӿÚÀ´·ÃÎʺͱ༸ÃÊ÷½á¹¹¡£ÕâÖÖ·½Ê½Õ¼ÓÃÄÚ´æ´ó£¬ËÙ¶ÈÍùÍùÂýÓÚSAX£¬µ«¿ÉÒÔ¸øÓû§Ìṩһ¸öÃæÏò¶ÔÏóµÄ·ÃÎʽӿڣ¬¶ÔÓû§¸üΪÓѺá£
2. ÑéÖ¤ºÍ·ÇÑéÖ¤
¶ÔÓÚÒ»¸öÌØ¶¨µÄXMLÎĵµ¶øÑÔ£¬ÆäÕýÈ·ÐÔ·ÖΪÁ½¸ö²ã´Î¡£Ê×ÏÈÊÇÆä¸ñʽӦ¸Ã·ûºÏXMLµÄ»ù±¾¸ñʽҪÇ󣬱ÈÈçµÚÒ»ÐÐÒªÓÐÉùÃ÷£¬±êÇ©µÄǶÌײã´Î±ØÐëǰºóÒ»Öµȵȣ¬·ûºÏÕâЩҪÇóµÄÎļþ£¬¾ÍÊÇÒ»¸öºÏ¸ñµÄXMLÎļþ£¬³Æ×÷well-formatted¡£µ«³ý´ËÖ®Í⣬һ¸öXMLÎĵµÒòÆäÄÚÈݵIJ»Í¬»¹±ØÐëÔÚÓïÒåÉÏ·ûºÏÏàÓ¦µÄ±ê×¼£¬ÕâЩ±ê×¼ÓÉÏàÓ¦µÄDTDÎļþ»òÕßSchemaÎļþÀ´¶¨Ò壬·ûºÏÁËÕâЩ¶¨ÒåÒªÇóµÄXMLÎļþ£¬³Æ×÷valid¡£
Òò´Ë£¬½âÎöÆ÷Ò²·ÖΪÁ½ÖÖ£¬Ò»ÖÖÊÇÑéÖ¤µÄ£¬¼´»á¸ú¾ÝXMLÎļþÖеÄÉùÃ÷£¬ÓÃÏàÓ¦µÄDTDÎļþ¶ÔXMLÎļþ½øÐÐУÑ飬¼ì²éËüÊÇ·ñÂú×ãDTDÎļþµÄÒªÇó¡£ÁíÒ»ÖÖÊǺöÂÔDTDÎļþ£¬Ö»Òª»ù±¾¸ñʽÕýÈ·£¬¾Í¿ÉÒÔ½øÐнâÎö¡£
¾ÍÎÒËùÖª£¬ÑéÖ¤µÄ½âÎöÆ÷ͨ³£¶¼ÊDZȽÏÖØÁ¿¼¶µÄ¡£TinyXml²»Ö§³ÖÑéÖ¤£¬µ«ÊÇÌå»ýºÜС£¬ÓÃÔÚ½âÎö¸ñʽ½ÏΪ¼òµ¥µÄXMLÎļþ£¬±ÈÈçÅäÖÃÎļþʱ£¬ÌرðµÄºÏÊÊ¡£
¶þ¡¢ TinyXmlµÄ¹¹½¨ºÍʹÓÃ
1. »ñÈ¡
TinyXmlÊ×Ò³ÔÚhttp://www.grinninglizard.com/tinyxml/index.html£¬´ÓÕâÀï¿ÉÒÔÕÒµ½×îа汾µÄÔ´
Ïà¹ØÎĵµ£º
ACE×ÔÊÊÅäͨÐÅ»·¾³£¨ADAPTIVE Communication Environment£©ÊÇ¿ÉÒÔ×ÔÓÉʹÓᢿª·ÅÔ´ÂëµÄÃæÏò¶ÔÏó£¨OO£©¿ò¼Ü£¨Framework£©£¬ÔÚÆäÖÐʵÏÖÁËÐí¶àÓÃÓÚ²¢·¢Í¨ÐÅÈí¼þµÄºËÐÄģʽ¡£ACEÌṩÁËÒ»×é·á¸»µÄ¿É¸´ÓÃC++ Wrapper Facade£¨°ü×°Íâ¹Û£©ºÍ¿ò¼Ü×é¼þ£¬¿É¿çÔ½¶àÖÖÆ½Ì¨Íê³ÉͨÓõÄͨÐÅÈí¼þÈÎÎñ£¬ÆäÖаüÀ¨£ºÊ¼þ¶à··ÖÀëºÍʼþ´¦À ......
¶þ·Ö²éÕҵĴúÂë.
int bfind(int* a,int len,int val)
{
int m = len/2;
int l = 0;
int r = len;
while(l!=m && r!= m)
{
if(a[m] > val)
& ......
JavaÓëC++×î´óµÄ²»Í¬µÄ£¬JavaÍêÈ«ÊÇÃæÏò¶ÔÏóµÄ£¬ÊÇÓÉÀ๹³ÉµÄ£¬¶øC++ÊÇÓɶÔÏóÓë¹ý³Ì×é³É¡£
1¡¢Â·¾¶£º
Java°üÀ¨Ò»¸ö°üpackage,C++ûÓУ»
2¡¢ÒýÈëÀà
java import.*.*; C++ include ""';
3¡¢Ô¤¶¨Ò壬
C++°üÀ¨Ô¤¶¨Ò壬Java²»°üÀ¨
4¡¢½á¹¹
C++°üÀ¨½á¹¹£¬JavaÖ»°üÀ¨À࣬½á¹¹Ìå¿ÉÒÔת»¯ÎªÀà¡£
5¡¢ÀàÃûÓëÎļþÃû
Jav ......
C·ç¸ñ×Ö·û´®£º¶Ô×Ö·û´®½øÐвÙ×÷µÄ C º¯Êý¶¨ÒåÔÚÍ·Îļþ<cstring>ÖУ»
1. ×Ö·û´®¶¨Ò壺char* result£»
2. ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûÊÇnull×Ö·û£¨'\0'£©£¬¿ÉÒÔͨ¹ýÕâ¸ö×Ö·ûÈ·¶¨×Ö·û´®µÄ½áβ¡£
3. strlen()·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£»Òò´Ë£¬ ......
ÔÚ×î½üµÄÒ»¸ö¹ØÓÚLKMLµÄÌÖÂÛÖУ¬Linus¸ø³öÁËΪʲô²»ÓÃC++À´Ð´LinuxÄں˵ÄÀíÓÉ£º
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
“ÊÂʵÉÏ£¬ÎÒÃÇÔø¾³¢ÊÔ¹ýÓÃC++À´Ð´£¬ÊÇÔÚ1992ÄêµÄʱºò¡£ºÜÔã¸â¡£ÏàÐÅÎÒ--ÓÃC++À´Ð´ÄÚºË ......