C++µÄXML±à³Ì¾Ñé¨D¨DLIBXML2¿âʹÓÃÖ¸ÄÏ
дÕâƪÎÄÕµÄÔÒòÓÐÈçϼ¸µã£º1)C++±ê×¼¿âÖÐûÓвÙ×÷XMLµÄ·½·¨£¬ÓÃC++²Ù×÷XMLÎļþ±ØÐëÊìϤһÖÖº¯Êý¿â£¬LIBXML2ÊÇÆäÖÐÒ»ÖÖºÜÓÅÐãµÄXML¿â£¬¶øÇÒËüͬʱ֧³Ö¶àÖÖ±à³ÌÓïÑÔ£»2)LIBXML2¿âµÄTutorialдµÃ²»Ì«ºÃ£¬ÓÈÆäÊDZàÂëת»»µÄ²¿·Ö£¬²»ÊÊÓÃÓÚÖÐÎıàÂëµÄת»»£»3)ÍøÉϵĴó¶àÊý¹ØÓÚLibxml2µÄ½éÉܽö½öÊÇ·ÒëÁË×Ô´øµÄ×ÊÁÏ£¬Ã»ÓÐÏêϸ½éÉÜÈçºÎÔÚwindowsƽ̨ϽøÐбà³Ì£¬¸üºÜÉÙÌáµ½ÈçºÎ½â¾öÖÐÎÄÎÊÌâ¡£
»ùÓÚÒÔÉϼ¸µãÔÒò£¬¾ö¶¨Ð´Ò»¸öÔÚWindowsƽ̨Ï£¬Ê¹ÓÃC/C++ÓïÑÔ£¬Ó¦ÓÃLibXml2¿âÀ´½øÐÐxmlÎĵµ²Ù×÷£¬Í¬Ê±Ê¹ÓÃICONV¿â½øÐÐÖÐÎıàÂëת»»µÄÎĵµ¡£ÆäÖл¹Éæ¼°ÁËMakefile¡¢XPATHµÈÏà¹ØÄÚÈÝ¡£±¾ÎÄÖÐËùÓеÄÔ´´úÂëÔÚhttp://www.blogjava.net/Files/wxb_nudt/xml_src.rar¡£
1. ÏÂÔØÓë°²×°LIBXML2ºÍICONV
Libxml2ÊÇÒ»¸öCÓïÑÔµÄXML³ÌÐò¿â£¬¿ÉÒÔ¼òµ¥·½±ãµÄÌṩ¶ÔXMLÎĵµµÄ¸÷ÖÖ²Ù×÷£¬²¢ÇÒÖ§³ÖXPATH²éѯ£¬ÒÔ¼°²¿·ÖµÄÖ§³ÖXSLTת»»µÈ¹¦ÄÜ¡£Libxml2µÄÏÂÔصØÖ·ÊÇhttp://xmlsoft.org/£¬ÍêÈ«°æµÄ¿âÊÇ¿ªÔ´µÄ£¬²¢ÇÒ´øÓÐÀý×Ó³ÌÐòºÍ˵Ã÷Îĵµ¡£×îºÃ½«Õâ¸ö¿âÏÈÏÂÔØÏÂÀ´£¬ÒòΪÕâÑù¿ÉÒԲ鿴ÆäÖеÄÎĵµºÍÀý×Ó¡£
windows°æ±¾µÄµÄÏÂÔصØÖ·ÊÇhttp://www.zlatkovic.com/libxml.en.html£»Õâ¸ö°æ±¾Ö»ÌṩÁËÍ·Îļþ¡¢¿âÎļþºÍdll£¬²»°üº¬Ô´´úÂë¡¢Àý×Ó³ÌÐòºÍÎĵµ¡£ÔÚÎı¾ÖУ¬Ö»ÐèÒªÏÂÔØlibxml2¿â¡¢iconv¿âºÍzlib¿â¾ÍÐÐÁË£¨×¢Ò⣬libxml2¿âÒÀÀµiconvºÍzlib¿â£¬±¾ÎÄÖÐÖصã¹Ø×¢libxml2ºÍiconv£¬zlib²»½éÉÜ£©£¬ÎÒʹÓõİ汾ÊÇlibxml2-2.6.30.win32.zip¡¢zlib-1.2.3.win32.zipºÍiconv-1.9.2.win32.zip¡£
ÔÚ±à³ÌµÄʱºò£¬ÎÒÃÇʹÓÃwindows°æ±¾µÄlibxml2¡¢zlibºÍiconv£¬½«Æä½âѹËõµ½Ö¸¶¨Îļþ¼Ð£¬ÀýÈçD:"libxml2-2.6.30.win32£¬D:"zlib-1.2.3.win32ÒÔ¼°D:"iconv-1.9.2.win32¡£ÊÂʵÉÏ£¬ÎÒÃÇÖªµÀÔÚwindowsÏÂÃæʹÓÃÍ·Îļþ¡¢¿âÎļþºÍdllÊDz»ÐèÒª°²×°µÄ£¬ËüÓÖûÓÐʹÓÃÈκÎÐèҪע²áµÄ×é¼þ»òÕßÊý¾Ý¿â£¬Ö»ÐèÒª¸æËß±àÒëÆ÷ºÍÁ´½ÓÆ÷ÕâЩ×ÊÔ´µÄλÖþͿÉÒÔÁË¡£
×¢Ò⣺ҪÔÚpath±äÁ¿ÖмÓÉÏD:"iconv-1.9.2.win32"bin;D:"zlib-1.2.3.win32"bin;D:"libxml2-2.6.30.win32"binÕâÈý¸öµØÖ·£¬·ñÔòÔÚÖ´ÐеÄʱºò¾ÍÕÒ²»µ½¡£»òÕßʹÓøü¼òµ¥µÄ·½·¨£¬°ÑÆäÖеÄÈý¸ödllµ½¿½±´µ½system32Ŀ¼ÖС£
ÓÐÁ½ÖÖ·½·¨À´±àÒëÁ´½Ó»ùÓÚlibxml2µÄ³ÌÐò£¬µÚÒ»ÖÖÊÇÔÚVC»·¾³ÖÐÉèÖÃlibºÍinclude·¾¶£¬²¢ÔÚlinkÉèÖÃÖÐÌí¼Ólibxml2.libºÍiconv.lib£»µÚ¶þÖÖÊÇÓñàÒëÆ÷Ñ¡Ïî¸æËß±àÒëÆ÷cl.exeÍ·ÎļþµÄλÖ㬲¢ÓÃÁ´½ÓÆ÷Ñ¡Ïî¸æËßÁ´½ÓÆ÷
Ïà¹ØÎĵµ£º
µÃµ½Ò»¸öÐèÒª´¦ÀíµÄXMl
private string GetSaveItem()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<menuCollection/>");
foreach (TreeNode node in trvAccessRight.CheckedNodes)
{
if (node != trvAccess ......
#include <dirent.h>
#include <sys/stat.h>
#include <sys/types.h>
/****************************************************
* º¯Êý¹¦ÄÜ: ÅжϲÎÊý·¾¶ÊÇ·ñΪ(ÕýÈ·µÄ)Ŀ¼
* º¯Êý·µ»Ø: 0Ϊ±íʾ·¾¶ÎªÎļþ,1Ϊ·ÇĿ¼.ÆäËûΪ´íÎó
* ²ÎÊý: pathÎļþÐèÒªÅжϵÄĿ¼µÄ·¾¶.
*  ......
XStreamʹÓÃ
XStreamÊÇÒ»¸öJava¶ÔÏóºÍXMLÏ໥ת»»µÄ¹¤¾ß£¬ºÜºÃºÜÇ¿´ó¡£ÌṩÁËËùÓеĻù´¡ÀàÐÍ¡¢Êý×é¡¢¼¯ºÏµÈÀàÐÍÖ±½Óת»»µÄÖ§³Ö¡£Òò´ËXML³£ÓÃÓÚÊý¾Ý½»»»¡¢¶ÔÏóÐòÁл¯£¨ÕâÖÖÐòÁл¯ºÍJava¶ÔÏóµÄÐòÁл¯¼¼ÊõÓÐ×ű¾ÖʵÄÇø±ð£©¡£
XStreamÖеĺËÐÄÀà¾ÍÊÇXStreamÀ࣬һ°ãÀ´Ëµ£¬ÊìϤÕâ¸öÀà»ù±¾¾Í¹»ÓÃÁË£¬Èç¹ûÄãÓõĸü¶à£¬¹À¼ÆÊÇÄ ......
Ôø¾Åöµ½¹ýÈÃÄãÃԻ󲻽⡢ÀàËÆÓÚint * (* (*fp1) (int) )
[10];ÕâÑùµÄ±äÁ¿ÉùÃ÷Â𣿱¾ÎĽ«ÓÉÒ×µ½ÄÑ£¬Ò»²½Ò»²½½Ì»áÄãÈçºÎÀí½âÕâÖÖ¸´ÔÓµÄC/C++ÉùÃ÷£ºÎÒÃÇ
½«´ÓÿÌ춼ÄÜÅöµ½µÄ½Ï¼òµ¥µÄÉùÃ÷ÈëÊÖ£¬È»ºóÖð²½¼ÓÈëconstÐÞÊÎ
·ûºÍtypedef£¬»¹Óк¯ÊýÖ¸Õ룬×îºó½éÉÜÒ»¸öÄܹ»ÈÃÄã׼ȷµØÀí½âÈκÎC/C++ ......
C++/CÊÔÌâµÄ´ð°¸ÓëÆÀ·Ö±ê×¼(À´×ÔÓÚÁÖÈñµÄ<<¸ßÖÊÁ¿C++±à³ÌÖ¸ÄÏ>>),È«ÎÄÇëµ½±¾²©×ÊÔ´ÖÐÏÂÔØ.
Ò»¡¢ÇëÌîдBOOL , float, Ö¸Õë±äÁ¿ Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä¡££¨10·Ö£©
Çëд³ö BOOL flag Óë“ÁãÖµ”±È½ÏµÄ if Óï¾ä¡££¨3·Ö£©
±ê×¼´ð°¸£º
if ( flag )
&nb ......