VC++ÖвÙ×÷XML£¨MFC¡¢SDK£©
VC++ÖвÙ×÷XML£¨MFC¡¢SDK£©
2009Äê01ÔÂ07ÈÕ ÐÇÆÚÈý 22:33
XMLÔÚWin32³ÌÐò·½ÃæÓ¦¸ÃûÓÐÔÚWeb·½ÃæÓ¦Óõö࣬ºÜ¶à
Win32³ÌÐòÒ²Ö»ÊÇÓÃXMLÀ´´æ´æÅäÖÃÐÅÏ¢¶øÒÑ£¬¶øÇÒûÓÐ×ã¹»
µÄºÃ´¦µÄ»°»¹²»ÈçÓà ini¡£VC++Àï²Ù×÷XMLÓÐÁ½¸ö¿â¿ÉÒÔÓãº
MSXMLºÍXmlLite¡£MSXMLÓÖϸ·ÖÁËÁ½ÖÖ½Ó¿Ú£ºDOMºÍSAX2¡£XPû×Ô´øÓÐ XmlLite£¬Ö»×Ô´øÓÐ2.x¡¢3.x°æµÄMSXML£¬²»Ö§³ÖSAX2£¨ÐèÒªMSXML 4.0ÒÔÉÏ£©£¬ËùÒÔÓÅÏÈʹÓÃDOM¡£
DOMÊÇÒÔCOMÐÎʽÌṩµÄ£¬VC++Àïµ÷ÓÃDOM¿ÉÒÔ·Ö3ÖÖ·½·¨£º
1¡¢MFCÀïÓÃCComPtrµ÷ÓÃ
2¡¢SDKÀïÖ±½Óµ÷ÓÃDOM½Ó¿Ú
3¡¢SDKÀïÓÃÖÇÄÜÖ¸Õëµ÷ÓÃ
Õâ3ÖÖ·½·¨±¾ÖÊÉÏÊÇÒ»ÑùµÄ£¬Çø±ðÖ»²»¹ýÔÚÓÚÐèÒª±àÂëµÄ¶àÉÙ
¶øÒÑ£¬ÓÃCComPtr¿ÉÒÔ¼«´óµÄ¼ò»¯´úÂ룬ÏÂÃæÊǼ¸¸öÀý×Ó¡£
Àý×Óstocks.xml£º
<?xml version="1.0" encoding="utf-8"?>
<root>
<node1>text1</node1>
<node2>
<childnode1 attrib1="value1" attrib2="value2"/>
<childnode2 attrib1="value1"
attrib2="value2">childtext1</childnode2>
</node2>
</root>
Õâ¸öÀý×ÓÓ¦¸Ã°üº¬ÁËXML×î³£¼ûµÄÌØÕ÷Á˰ɣ¿
MFC
MFCÀï¿ÉÒÔÖ±½ÓʹÓà DOM£¬²»ÐèÒªÊÖ¶¯Ìí¼Ó¶îÍâµÄÍ·Îļþ£¬Ö»
ÐèÒªÔÚCWinApp::InitInstance()Àïµ÷ÓÃCoInitialize(NULL)³õʼ»¯ COM£¬ÔÚCWinApp::ExitInstanceÀïµ÷ÓÃCoUninitialize()ÊÍ·ÅCOM¾ÍÐÐÁË¡£
//¶ÁÈ¡XML
CComPtr<IXMLDOMDocument> spDoc; //DOM
spDoc.CoCreateInstance(CLSID_DOMDocument);
VARIANT_BOOL vb;
spDoc->load(CComVariant(OLESTR("stocks.xml")),
&vb); //¼ÓÔØXMLÎļþ
CComPtr<IXMLDOMElement> spRootEle;
spDoc->get_documentElement(&spRootEle); //¸ù½Úµã
CComPtr<IXMLDOMNodeList> spNodeList;
spRootEle->get_childNodes(&spNodeList); //×Ó½ÚµãÁбí
long nLen;
spNodeList->get_length(&nLen); //×Ó½ÚµãÊý
for (long i = 0; i != nLen; ++i) //±éÀú×Ó½Úµã
{
CComPtr<IXMLDOMNode> spNode;
spNodeList->get_item(i, &spNode);
ProcessNode(spNode); //½Úµã´¦Àíº¯Êý
}
//дÈëXML
CComPtr<IXMLDOMNode> spNode;
spRootEle->selectSingleNode(OLESTR("/root/node1"),
&spNode);
spNode->put_te
Ïà¹ØÎĵµ£º
½«C/C++³ÌÐò·Åµ½ÍøÂçÉϲ¢²»ÊǼòµ¥µÄ¸´ÖÆÕ³Ìù£¬´ó²¿·ÖÍøÕ¾ºÍblogÊDz»Ìṩ´úÂëµÄÖ±½ÓÕ³ÌùµÄ£¨µ±È»CSDNÊDz»´íµÄ£©£¬Ö®Ç°ÔÚsinaд²©¿ÍµÄʱºò¾ÍÅöµ½ÀàËÆµÄÎÊÌâ¡£
C/C++×¥»»ÎªHTMLµÄ¹Ø¼üÊÇ´¦Àí×¢ÊÍ£¬¹Ø¼ü×Ö¡£µ±È»Ò²¿ÉÒÔ¶Ô×Ö·û´®£¬Êý×Ö½øÐÐÒ»¶¨µÄ¼ÓÁÁ´¦Àí¡£
1.ÎÒÒÔǰÓÃC++д¹ýÒ»¸ö³ÌÐò£¬Æäʵ±íÃæÉÏÊÇC++£¬Ö»ÊÇÊä³öÓÃÁËcoutºÍcin¶ ......
¹ØÓÚ¼Ó½âÃÜJAVAÒ»°ãʹÓõÄJCE£¬¹ØÓÚC++¿ÉÒÔʵÏÖAES¼Ó½âÃܵĿªÔ´ÏîÄ¿¾Í¶àµÄÊý²»Ê¤ÊýµÄ¡£
ÀíÂÛÉÏÉÏËã·¨Ò»Ñù£¬¶Ô³ÆÃÜÔ¿Ò»Ñù¾ÍÄܹ»»¥Ïàʶ±ðÁË¡£
ÏàÐźܶàÈË¿ªÊ¼Ïë·¨¶¼Í¬ÎÒÒ»Ñù£¬Æð³õÎÒJAVAÓÃJCE£¬C++ʹÓÃopenssl¡£
½á¹û·¢ÏÖ¼ÓÃܳöµÄÃÜÎÄÍêÈ«²»Ïàͬ¡£
³öÏÖÎÊÌâ¾ÍÒª½â¾ö
Á˽âÁËÒ»ÏÂJCE£º
JC ......
ÏñÔÚ×ùµÄ¸÷λһÑù£¬ÓÉÓÚ×ÔÉíµÄÐËȤ£¬ÎÒ¶ÔAJAX±à³Ì·½ÃæµÄÑо¿ÊdzÖÐø²»¶ÏµÄ¡£Ëæ×ŸÃÁìÓòµÄÉîÈ룬ÎÒÔ½À´Ô½·¢¾õËùνµÄä¯ÀÀÆ÷DOM£¬¼´HTML DOM£¬ÊÇÒ»¸ö·Ç³£ÖµµÃ¹Ø×¢µÄµã¡£Õâ¹ÛµãÔÚÓëͬÐÐÃǽ»»»Òâ¼ûµÄʱºòÒ²ÔøÌ¸µ½¹ý£¬¾ÍÊÇ£¬ÎÒÃÇÈÔȻȱ·¦¾ßÓÐÉî¶ÈµÄ¡¢¹æ·¶µÄDOM Level 1¸¨Öú¶ÁÎï£¬ÍøÂçÉÏËÑË÷Ò²±È½ÏÉÙ¼û¡£¶øÎÒÃÇÕæÊµµÄÏë·¨ÔÚÓÚ£¬ÎÒÃÇ ......
´ó¼ÒÓ¦¸Ã¶¼ä¯ÀÀ¹ýºÜ¶àflashÕûÕ¾Ô´Â룬flash½áºÏxml´ïµ½Ò»¸ö¶¯Ì¬ÐÞ¸ÄflashÊä³öÄÚÈݵÄЧ¹û£¬ÓÃflashÀ´ÌåÏÖÒ»¸öÍøÕ¾£¬²¢ÇÒÄܼòµ¥µÄ¶¯Ì¬¸üУ¬´ó¶¼ÕâЩԴÂëÊÇÀÏÍâ·Å³öÀ´µÄ£¬ÔÚÊäÈëÊä³ö·½Ã棬¼¸ºõ¶ÔÖÐÎͼ²»Ö§³Ö£¬ºÜ¶àºÜìŵÄЧ¹û
ÎÒÃÇÈÏʶ·½¿é×ÖµÄÈ˶¼Óò»ÁË£¨Í»È»¸ÐÎò£¬¼ÆËã»ú´øÀ´µÄ¿Æ¼¼¸ïÃü£¬ÎªÊ²Ã´²»»áÊÇÖйúÈËÄØ£¿¶øÊÇÖ»Ó ......