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
Ïà¹ØÎĵµ£º
¶¯Ì¬´´½¨TXMLDocument¶ÔXMLÎļþ½øÐжÁÈ¡ºÍдÈë - [Delphi¸ß¼¶Ó¦ÓÃ]
2008-01-16
Tag£ºDelphi XML XMLDocument
°æÈ¨ÉùÃ÷£º×ªÔØÊ±ÇëÒÔ³¬Á´½ÓÐÎʽ±êÃ÷ÎÄÕÂÔʼ³ö´¦ºÍ×÷ÕßÐÅÏ¢¼°±¾ÉùÃ÷
http://overblue.blogbus.com/logs/13954596.html
uses
XMLDoc, XMLIntf;
{ дÈëXMLÄÚÈÝ }
var
XMLDoc : TXMLDocumen ......
C#×é¼þ¿ª·¢ÈËÔ±
ʲôʱºòʹÓÃoverride£¿Ê²Ã´Ê±ºòʹÓÃnew? ʲô½Ðshadowing?
ÖØÐ´¸¸ÀàµÄ·½·¨µÄʱºòÓÃoverrideÒÔʵÏÖ¶à̬£¬µ±ÄãÏëÆÁ±Î¸¸Àà³ÉÔ±µÄʱºòʹÓÃnew£¬shadowing»ù±¾¾ÍÊÇnewÓëoverrideÇø±ðµÈһЩ·½ÃæµÄÎÊÌ⣬¸öÈËÈÏΪŪÇåoverrideÓënew¾ÍûÓбØÒªÌØÒ⿼ÂÇshadowing¡£
½âÊÍvirtual¡¢sealed¡¢overrideºÍabstractµÄ ......
ÕâÊÇÒ»¸öÓÃc#¿ØÖÆÌ¨³ÌÐòÏ£¬ ÓÃXmlDocument ½øÐÐXML²Ù×÷µÄµÄÀý×Ó£¬°üº¬Á˲éѯ¡¢Ôö¼Ó¡¢Ð޸ġ¢É¾³ý¡¢±£´æµÄ»ù±¾²Ù×÷¡£½ÏÍêÕûµÄÃèÊöÁËÒ»¸öXMLµÄÕû¸ö²Ù×÷Á÷³Ì¡£ÊʺϸÕÈëÃÅ.net XML²Ù×÷µÄÅóÓѲο¼ºÍѧϰ¡£
¼ÙÉèÓÐXMLÎļþ£ºbooks.xml
Xml´úÂ룺
<?xml version="1.0" encoding="UTF-8"?>
<books>
< ......
[CϵÁÐ]C++³ÌÐòÔ±µÍÊÖóðÑÔ1
±à³ÌÒѾ3ÄêÁË
ÎÒʱ³£¾õµÃ£¬ Èç¹û3ÄêǰµÄÎÒÓÉÏÖÔÚµÄÎÒÀ´Ö¸µãµÄ»°£¬Ó¦¸ÃÓÃ3Ìì¾Í¿ÉÒÔ³öʦÁË¡£
ÎÒµÄÕâÆªÎÄÕ¾ÍÊdzåÕâ¸öÄ¿µÄÀ´µÄ¡£ÔÚ½ÓÏÂÀ´Ô¶Ô¶ÉÙÓÚ3ÌìµÄƪ·ùÖУ¬ÎÒ½«´øÁì¶ÁÕß´Ó²ËÄñÒ»Ö±½úÉýµ½COM(ÒòΪÎÒ×Ô¼ºÒ²Ö»»áÕâô¶àÁË)£¬³õѧÕß¶ÁÍêºó£¬Ó¦µ±Ð¡ÓÐËù³É£¬»ù±¾ÉÏÄÜʤÈÎͨ³£¸÷ÖÖСIT¹«Ë¾µÄ³£¹æ¿ª· ......
´ó¼ÒÓ¦¸Ã¶¼ä¯ÀÀ¹ýºÜ¶àflashÕûÕ¾Ô´Â룬flash½áºÏxml´ïµ½Ò»¸ö¶¯Ì¬ÐÞ¸ÄflashÊä³öÄÚÈݵÄЧ¹û£¬ÓÃflashÀ´ÌåÏÖÒ»¸öÍøÕ¾£¬²¢ÇÒÄܼòµ¥µÄ¶¯Ì¬¸üУ¬´ó¶¼ÕâЩԴÂëÊÇÀÏÍâ·Å³öÀ´µÄ£¬ÔÚÊäÈëÊä³ö·½Ã棬¼¸ºõ¶ÔÖÐÎͼ²»Ö§³Ö£¬ºÜ¶àºÜìŵÄЧ¹û
ÎÒÃÇÈÏʶ·½¿é×ÖµÄÈ˶¼Óò»ÁË£¨Í»È»¸ÐÎò£¬¼ÆËã»ú´øÀ´µÄ¿Æ¼¼¸ïÃü£¬ÎªÊ²Ã´²»»áÊÇÖйúÈËÄØ£¿¶øÊÇÖ»Ó ......