Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

C++Öд¦ÀíXMLÎļþ

дUnmanaged CodeÔÚ.NETʱ´ú³ÉΪһÖֺܱ¯²ÒµÄÊ£¬µ±ÄãÐèÒª´¦ÀíXMLÎļþʱ£¬ÕâÖָоõ»á±äµÃÓÈÆäÇ¿ÁÒ¡£FCLÖеÄSystem.XML¶à¼òµ¥°¡£¬Á¬Steve Ballmer¶¼ÖªµÀÔõôÓá£
ÊÂÇé²»»á×ÜÊÇÄÇôÀíÏëµÄ£¬¼ÙÈçÄãÒªÔÚC/C++³ÌÐòÀï´¦ÀíXMLÔõô°ìÄØ£¿
Ñ¡ÔñÒ»£ºÊÐÃæÉϵÄXML lib»¹ÊÇÓм¸¸öµÄ£¬×îÓÐÃûµÄµ±È»ÊÇlibXML¡£ÎÒÒ»ÄêǰÓùý£¬ºÜ²»´í£¬ÎÒ»¹ÌØÒâдÁËÒ»·Ý¼òÃ÷½Ì³Ì£¬ºóÀ´²»Öª¸éÄĶùÁË¡£
Ñ¡Ôñ¶þ£ºMSµÄMSXML£¬ÎÒÒª½éÉܵľÍÊÇÕâ¸ö¡£
ÏÈ˵һÏÂÔÚMSDNÄÄÀïÕÒÎĵµ°É£¬ÍùÏ¿´µÄʱºòÒ²ºÃÓиö²Î¿¼£ºÔÚIndexÀï´ò£ºWindows Media Services 9 Series SDK=>Programming Reference=>Programming Reference (C++)=>XML DOM Interfaces (C++)¡£Ê²Ã´£¿Windows Media£¿ºÇºÇ£¬²»´í£¬ÎÒ¾õµÃÕâ¸öguide·´¶øÊÇ×îÇå³þµÄ£¬ÄãÖ±½ÓÕÒMSXML£¬µÃµ½µÄ½á¹û£¬ÎÒ¾õµÃ»¹Ã»Õâ¸öºÃ¡£
ÔÚC³ÌÐòÀïµ÷ÓÃMSXML»ù±¾¾ÍÊÇÒ»¶ÑCOM½Ó¿Ú£¬²»¹ýÔÚVisual StudioÀï²Ù×÷ÏÈÒª×öµã¼òµ¥µÄÉèÖãº
ÔÚÄãµÄProjectÀïAdd References=>COM±êÇ©=>Microsoft XML v4.0£¬5.0ÆäʵҲÓÐÁË£¬µ«ÒòΪÊǺÍOfficeÒ»Æð·¢²¼µÄ£¬¾õµÃÓеã¹Ö£¬²»ÏëÓ㬷´ÕýҲδ±ØÓÃʲôºÜ¹ÖÒìµÄ¹¦ÄÜ£¬4.0¿ÉÒÔÁË¡£
È»ºóÔÚ¼ÓÈëÕâÁ½ÐУº
#include <msXML2.h>
#import <msXML4.dll>
Í·ÎļþºÍdll¿â¡£Ê²Ã´£¿ÔÚÄÄÀï¼Ó£¿Í·Îļþ»òÕßc/cppÎļþ°¡£¬ÄÄÀïºÏÊÊ·ÅÄĶù¡£
È»ºó¾Í¿ªÊ¼±à³ÌÁË£¬Ïȶ¨ÒåÁ½¸ö±ØÓõıäÁ¿£º
IXMLDOMDocumentPtr XMLFile = NULL;
IXMLDOMElement* XMLRoot = NULL;
ΪʲôÊDZØÓõģ¿¡¡¡¡º¹£®£®£®
µÚÒ»²½µ±È»Êdzõʼ»¯COM£º
if(FAILED(CoInitialize(NULL))) ....
½ÓÏÂÀ´³õʼ»¯XMLFile¶ÔÏó£º
if(FAILED(XMLFile.CreateInstance("MsXML2.DOMDocument.4.0"))) ...
È»ºó¾Í¿ÉÒÔ¼ÓÔØXMLÎļþÁË£º
_variant_t varXML(L"C: est.XML"); //L for unicode
VARIANT_BOOL varOut;
XMLFile->load(varXML, &varOut);
È¡µÃroot element£º
XMLFile->get_documentElement(&XMLRoot))
È¡µÃµÚÒ»¼¶element£º
IXMLDOMNodeList* XMLChildNodes = NULL;
XMLRoot->get_childNodes(&XMLChildNodes);
±éÀúËùÓеÚÒ»¼¶element:
IXMLDOMNode* currentNode = NULL;
while(!FAILED(XMLChildNodes->nextNode(&currentNode)) && currentNode != NULL)
{
//do something
}
È¡µÃµ±Ç°elementµÄÃû³Æ£º
BSTR nodeName;
currentNode->get_nodeName(&nodeName);
È¡µÃµ±Ç°elementµÄÒ»¸öattribute£¨¼ÙÉè


Ïà¹ØÎĵµ£º

XMLÎļþѧϰ

XML CDATA Îı¾
ËùÓÐ XML ÎĵµÖеÄÎı¾¾ù»á±»½âÎöÆ÷½âÎö¡£
Ö»ÓÐ CDATA Çø¶Î£¨CDATA section£©ÖеÄÎı¾»á±»½âÎöÆ÷ºöÂÔ¡£
Parsed Data
XML ½âÎöÆ÷ͨ³£»á½âÎö XML ÎĵµÖÐËùÓеÄÎı¾¡£
µ±Ä³¸ö XML ÔªËØ±»½âÎöʱ£¬Æä±êǩ֮¼äµÄÎı¾Ò²»á±»½âÎö£º
<message>´ËÎı¾Ò²»á±»½âÎö</message>
½âÎöÆ÷Ö®ËùÒÔÕâô×öÊÇÒòÎ ......

Ajax ºÍ XML: ÎåÖÖ Ajax ·´Ä£Ê½

ͨ¹ýÀí½â´íÎóµÄ±àÂ뷽ʽ£¬¿ÉÒÔ¸üºÃµØÁ˽âÈçºÎÕýÈ·µØ½øÐбàÂë¡£µ±È»£¬±àд Asynchronous JavaScript™ +
XML£¨Ajax£©ÓÐÕýÈ·µÄ·½·¨£¬Ò²ÓдíÎóµÄ·½·¨¡£±¾ÎĽ«ÌÖÂÛһЩÐèÒª±ÜÃâµÄ³£¼û±àÂëʵ¼ù¡£
Èç¹ûÈËÃÇÔÚµÚÒ»´Î¾ÍÄܹ»½«ËùÓÐÊÂÇéÈ«²¿×ö¶Ô£¬ÄÇôÕâ¸öÊÀ½ç½«±äµÃÍêÈ«²»Í¬¡£Ajax Ò²ÊÇÈç´Ë¡£ÎÒ×öÁË´óÁ¿µÄ¹¤×÷ÒÔÖ§³Ö Ajax
......

XML WebServiceÍêȫʵÀýÏêϸ½âÎö

Ê×ÏÈ,ÎÒÃDZØÐëÁ˽âʲôÊÇwebservice.¾Í¸ÅÄîÉÏÀ´Ëµ,¿ÉÄܱȽϸ´ÔÓ,²»¹ýÎÒÃÇ¿ÉÒÔÓиöºê¹ÛµÄÁ˽â:webservice¾ÍÊǸö¶ÔÍâµÄ½Ó¿Ú,ÀïÃæÓÐ º¯Êý¿É¹©Íⲿ¿Í»§µ÷ÓÃ(×¢Òâ:ÀïÃæÍ¬ÑùÓпͻ§²»¿Éµ÷Óõĺ¯Êý).¼ÙÈôÎÒÃÇÊÇ·þÎñ¶Ë,ÎÒÃÇдºÃÁ˸öwebservice,È»ºó°ÑËü¸øÁ˿ͻ§(ͬʱÎÒÃǸøÁËËû Ãǵ÷ÓùæÔò),¿Í»§¾Í¿ÉÒÔÔÚ´Ó·þÎñ¶Ë»ñÈ¡ÐÅϢʱ´¦ÓÚÒ»¸öÏ ......

C/C++ÓïÑÔvoid¼°voidÖ¸ÕëÉî²ã̽Ë÷

C/C++ÓïÑÔvoid¼°voidÖ¸ÕëÉî²ã̽Ë÷
1.¸ÅÊö
Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
2.voidµÄº¬Òå
voidµÄ×ÖÃæÒâ˼ÊÇ“ÎÞÀàÐÍ”£¬void *ÔòΪ“ÎÞÀàÐÍÖ¸Õ딣¬void ......

XML ½âÎöc++Ô´Â루ԴÎļþ£©

/*
 * XMLTool.cpp ÅäÖÃÎļþ½âÎö¶¯Ì¬¿â×ÊÔ´Îļþ
 *  Ö÷ÒªÊä³öº¯Êý½Ó¿Ú·Ö±ðʵÏÖ¶ÔÅäÖÃÎļþµÄ¶ÁÈ¡ºÍдÈ룬Õë¶Ô½á¹û¼¯µÄ¸´ÖÆÇå¿Õ£¬ºÍÁ½¸ö×Ö·û´®´¦Àíº¯Êý
 *  ¶ÁÈ¡ÅäÖÃÎļþ½Ó¿Ú £ºint ReadXMLFile(XML_Node_Vector *XmlNodeVector, string filepath);
 *  Ð´È ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ