ÔÚMFC³ÌÐòÖÐʹÓÃXMLÎļþÅäÖù¤¾ßÀ¸
×÷ÕߣºÖì½ð²Ó
À´Ô´£ºhttp://blog.csdn.net/clever101/
ÏÖÔÚÎÒ·¢ÏÖʹÓÃVisual StudioµÄ×ÊÔ´±à¼Æ÷½øÐбà¼×ÊÔ´ÓÐ×ÅÖî¶àµÄ²»±ã£ºÊ×ÏÈÊÇÈκÎ×ÊÔ´µÄ±ä¶¯Ò»°ã±ä¶¯´úÂ룬²»ÀûÓÚϵͳά»¤£¬Æä´ÎVisual StudioµÄ×ÊÔ´±à¼Æ÷µÄ±¾ÉíµÄ¹¦ÄÜÓÐÏÞ£¬Ò²²»ÀûÓÚ½çÃæÃÀ»¯£¬ÈýÊDz»ÀûÓÚÈËÔ±·Ö¹¤£¬¿ª·¢ÈËÔ±¼ÈҪæʵÏÖ¹¦ÄÜ£¬ÓÖҪæ׼±¸ºÃµÄ½çÃæËØ²Ä¡£¶Ô½çÃæÊµÏÖÎļþÅäÖû¯ÕýÊǽâ¾öÉÏÃæÎÊÌâµÄºÃ·½·¨¡£Õâ´ÎÎÒʵÏÖÁËʹÓÃXMLÎļþÅäÖù¤¾ßÀ¸¡£ÕâÀïËùνÅäÖþÍÊǹ¤¾ßÀ¸µÄ½çÃæÐÅÏ¢È繤¾ßÀ¸±êÌâ¡¢°´Å¥Í¼Æ¬¡¢ÊÇ·ñΪ·Ö¸ô·û¶¼ÔÚXMLÎļþ±£´æ£¬³ÌÐòͨ¹ý½âÎöXMLÎļþÀ´»ñÈ¡¹¤¾ßÀ¸ÐÅÏ¢À´´´½¨¹¤¾ßÀ¸¡£ÕâÑùÒ»µ©·¢ÏÖ½çÃæ²»ºÏÊÊ¿ÉÒÔËæÊ±ÐÞ¸ÄÅäÖÃÎļþ£¬Í¬Ê±ÀûÓÚÈËÔ±·Ö¹¤¡£
¾ßÌåµÄ×ö·¨ÈçÏ£º
1. ÔÚ¹¤³ÌµÄÊä³öĿ¼ÏÂÓÐÒ»¸öSysConfig.xml£¬×÷ΪϵͳÅäÖÃÎļþ¡£ÆäÖйØÓÚ¹¤¾ßÀ¸µÄÅäÖò¿·ÖÈçÏ£º
<AppToolbar valid="1" caption="»ù´¡¹¤¾ß">
<ToolButton file="Add.bmp" />
<ToolButton separator="true" />
<ToolButton file="Benchmark.bmp" />
<ToolButton file="Comment.bmp" />
<ToolButton file="Convert.bmp" />
<ToolButton file="Delete.bmp" />
<ToolButton file="Exit.bmp" />
</AppToolbar>
¼òµ¥½âÊÍÒ»ÏÂÉÏÃæµÄ½ÚµãÒâÒ壺valid±íʾ¹¤¾ßÀ¸ÊÇ·ñÓÐЧ£¬caption±íʾ¹¤¾ßÀ¸±êÌ⣬file½ÚµãΪ¹¤¾ßÀ¸°´Å¥ËùÌùͼƬ£¬separator±íʾ°´Å¥ÊÇ·Ö¸ô·û¡£
2. ͨ¹ý½âÎöXMLÎļþ»ñÈ¡¹¤¾ßÀ¸ÐÅÏ¢À´´´½¨¹¤¾ßÀ¸¡£Ê×ÏÈÔÚCMainFrameÀàÌí¼ÓÁ½¸öÊý¾Ý³ÉÔ±£º
/**
* \brief ¹¤¾ßÀ¸¶ÔÓ¦µÄͼÏñÁÐ±í¡£
*/
CImageList m_imgToobar;
/**
* \brief ϵͳÅäÖÃÎļþ½âÎöÆ÷£¬¾ßÌå¿´ÎÒÉÏ´«µÄ´úÂë¡£
*/
CXmlParse m_SysSetting;
È»ºóʵÏÖÈçϺ¯Êý£º
/*!
* \brief »ñÈ¡exeËùÔÚµÄÎļþ¼Ð¡£
*
* \param [in][out]strBinPath exe³ÌÐòËùÔÚµÄÎļþ¼Ð¡£
* \return ÎÞ¡£
*/
void CMainFrame::GetOutputPath(string &strBinPath)
{
TCHAR szModulePath[_MAX_PATH];
::GetModuleFileName(NULL,szModulePath,_MAX_P
Ïà¹ØÎĵµ£º
ÔںܶàÑÐÌÖ»áºÍÅàѵ°àÉÏÎÒÓöµ½¹ýÐí¶àÈË£¬ËûÃÇ»¹²»Ã÷°×ΪʲôҪʹÓÃXMLÒ²²»ÖªµÀÈçºÎÔÚËûÃǵÄÓ¦ÓÃÖÐʹÓÃXML¡£Ò»Ð©À´×ÔÖîÈçGartner¹«Ë¾µÄ±¨¸æ½¨Òé˵£¬ÉÌÒµ¹«Ë¾²»ÄÜÔÙ×ö¾ÖÍâÈËÁË£¬²»ÄܶÔXMLÖÃÖ®²»Àí¡£Èç¹ûÄ㻹²»Çå³þXMLµ½µ×ÓÐʲôºÃ´¦µÄ»°£¬Äã²¢²»ÊÇΨһµÄÈË¡£
ÎÒ¾ö¶¨°ÑÓëÈËÃǺÍýÌ幨ÓÚXML»°ÌâµÄ½»Ì¸ÕûÀí³ÉÎÄ£¬ÁгöXMLÔÚÓ¦ÓÃÖ ......
½ñÌì¶ÔXMLÎļþ½øÐÐÁËһЩ¼òµ¥µÄ¶Áд²Ù×÷£¬ÏÂÃæÀ´¾ßÌåʵÏÖ²½Ö裺
Ê×ÏÈ£º½¨Á¢Ò»¸ö»ùÓÚDialogµÄMFC¹¤³Ì£¬¹¤³ÌÃûΪOperateXML£¬È»ºóÔÚ¶Ô»°¿òÉÏÌí¼ÓÁ½¸ö°´Å¥("Create"ºÍ"GetData"ºÍÒ»¸öListControl
¿Ø¼þ(ÓÃÀ´ÏÔʾÊý¾Ý)£¬Ê×ÏÈÒªµ¼Èë¿âÎļþ
#import "msxml3.dll"
using namespace MSXML2;
Ö÷ÒªÓÃÀ´ÊµÏÖXMLÎļþµÄÏà¹Ø²Ù×÷£¬
......
½ñÌì´ÓÊý¾Ý¿âÖвéѯ³öxml£¬Í¬Ê±Ìí¼ÓÒ»¸ö¸ù½Úµã
×öÁËÈçϲâÊÔ£º
create table TestXmlQuery(
ID int identity(1,1) not null,
Name varchar(10)
)
go
insert into [TestXmlQuery] (Name) values('²âÊÔ1')
insert into [TestXmlQuery] (Name) values('²âÊÔ2')
insert into [TestXmlQuery] (Name) values('²âÊÔ3')
......
libxml£¨Ò»£©
ÕªÒª
LibxmlÊÇÒ»¸öÓÐÃâ·ÑÐí¿ÉµÄÓÃÓÚ´¦ÀíXML¡¢¿ÉÒÔÇáËÉ¿çÔ ......
XMLÎļþ×÷ΪÊý¾ÝÊý¾Ý´æ´¢½éÖʵÄÒ»ÖÖ£¬ºÃ´¦ÔÚÓÚ£ºÈκεÄϵͳ¾ù¿ÉÒÔ½âÎöËü¡£
XMLÈ«³Æ£ºExtensible Markup Language£¨À©Õ¹±ê¼ÇÓïÑÔ£©Ê¹ÓÃÎĵµÀàÐͶ¨Ò壨DTD£©»òÕßģʽ£¨Schema£©À´ÃèÊöÊý¾ÝµÄ¡£¿É¹©ÈËÔĶÁ£¬¶øÇÒ»¹»ùÓÚÒ»ÖÖ¹«¹²µÄ¿ª·¢±ê×¼¡£
×î½üÓÉÓÚ¿ª·¢µÄÐèÒª£¬Ò²ÊÇÑо¿ÒÔÏÂXMLµÄ²Ù×÷£¬±¾ÆªÈÕÖ¾Ö÷Òª×ܽáC#.NETÖÐÊÇÈçºÎ²Ù×÷XM ......