C++ ²Ù×÷XMLµÄÍêÕûÀý×Ó——MSXMLƪ
д±¾ÎĵÄÄ¿µÄÊÇΪÁË·½±ã´ó¼ÒÁ˽âC++ MSXML²Ù×÷·½·¨¡£
µ±È»£¬C++ÖжÔMSXMLµÄµ÷ÓÃÓжàÖÖ£¬±¾ÎIJÉÓõķ½·¨ÊÇÍêÈ«²ÎÕÕMSXML SDKÌṩµÄÎĵµ½øÐвÙ×÷¡£
Èç¹ûÓÐʲô´íÎ󣬻¶ÓÖ¸Õý¡£
´úÂë¿ò¼ÜÊÇ»ùÓÚvs2008 MFC ¶Ô»°¿ò³ÌÐò£¨UNICODE£©¡£¶Ô»°¿ò³ÌÐòÐèÒª¶ÁÕß×Ô¼º´´½¨¡£
#include <msxml6.h>
#include <comutil.h>
#pragma comment(lib, "comsuppwd.lib")
void CXmlSampleDlg::OnBnClickedButton1()//°´Å¥Ê¼þ
{
CoInitialize(NULL);
CComPtr<IXMLDOMDocument> spXmldoc;
HRESULT hr = spXmldoc.CoCreateInstance(L"MSXML2.DOMDocument.6.0");
if(SUCCEEDED(hr))
{
VARIANT_BOOL isSuccessFul;
CComVariant varXmlFile(L"a.xml");
spXmldoc->put_async(VARIANT_FALSE);
HRESULT hr= spXmldoc->load(varXmlFile, &isSuccessFul);
if(isSuccessFul==VARIANT_TRUE)
{
CComBSTR bstrXml;
CComPtr<IXMLDOMElement> spRoot=NULL;
CComPtr<IXMLDOMElement> spTheBook=NULL;
CComPtr<IXMLDOMElement> spTheElem=NULL;
CComPtr<IXMLDOMNode> spNewNode=NULL;
hr = spXmldoc->get_documentElement(&spRoot);
spRoot->get_xml(&bstrXml);
AfxMessageBox(L"1, ÔʼµÄXML");
AfxMessageBox(bstrXml);
spXmldoc->createElement(L"book", &spTheBook);
spXmldoc->createElement(L"name", &spTheElem);
spXmldoc->put_text(L"ÐÂÊé");
spTheBook->appendChild(spTheElem, &spNewNode);
spTheElem.Release();
spNewNode.Release();
spXmldoc->createElement(L"price", &spTheElem);
spTheElem->put_text(L"20");
spTheBook->appendChild(spTheElem, &spNewNode);
spTheElem.Release();
spNewNode.Release();
spXmldoc->createElement(L"memo", &spTheElem);
spTheElem->put_text(L"ÐÂÊéµÄ¸üºÃ¿´¡£");
spTheBook->appendChild(spTheElem, &spNewNode);
spNewNode.Release();
spTheElem.Release();
spRoot->appendChild(spTheBook, &spNewNode);
spNewNode.Release();
spTheBook.Release();
spRoot->get_xml(&bstrXml);
AfxMessageBox(L"2, н¨Ò»±¾ÊéÍê³É");
AfxM
Ïà¹ØÎĵµ£º
´´½¨¿ÉÐòÁл¯µÄÀ࣬»òÕß´´½¨ÓÃÓÚ´¦Àí XML ÐòÁл¯ÀàµÄÀà¡£ Èç¹ûÄúÓµÓÐÃèÊöÒª¼ÓÔØ»ò±£´æµÄ XML Îļþ¸ñʽµÄ XML ¼Ü¹¹¶¨Òå (XSD)£¬ÇëʹÓà Xsd.exe ¹¤¾ß×Ô¶¯´´½¨ÕâЩÀà¡£ »¹¿ÉÒÔÊÖ¶¯´´½¨ÕâЩÀà¡£ ÈôҪʹÓà Xsd.exe ¹¤¾ß´´½¨¿ÉÐòÁл¯µÄÀ࣬Çë°´ÕÕÏÂÁв½Öè²Ù×÷£º
½«ÒÔÏÂÃèÊö¶©µ¥µÄ XSD ¼Ü¹¹±£´æÎª Po.xsd Îļþ£º
<xsd:sche ......
ODBCºÍIDAPIÖ®Õù
µ±MicrosoftÔÚÖ𽥵Ļ÷°ÜËûµÄ¾ºÕù¶ÔÊÖ£¬²¢ÇÒÓµÓÐÁ˴󲿷ÝPCÊý¾Ý¿âÊг¡Ö®ºó£¬±ãÂýÂýµÄÁË½âµ½ÕÆÎÕ±ê×¼µÄÖØÒªÐÔ¡£´ËÍâMicrosoftΪÁËͳһ¸÷Ó¦ÓóÌÐòÖ®¼ä²»Í¬×ÊÁϵĴæÈ¡£¬Òò´Ë¿ªÊ¼Öƶ¨´æÈ¡×ÊÁϵÄͳһ±ê×¼-ODBC¡£Microsoft¸ü´óµÄÄ¿µÄÊÇΪÁË×¼±¸ºÍÃé×¼ÏÂÒ»³¡µÄ´óÕ½£¬ÄǾÍÊÇPCÉϵÄRDBMS²úÆ·¡£µ±È»Microsoft Ҫһͳ ......
¹Ø¼üµÄʱ¿Ì - MFC Or Not
ÔÚSymantec C/C++ºÍWatcom C/C++Öð½¥µØÕ¾ÎÈÁ˽Ų½Ö®ºó£¬ËÄ´ó±àÒëÆ÷¾öÕ½µÄʱ¿ÌÒ²Ö𽥱ƽüÁË¡£ÔÚ1994ÄêδµÄ¾öս֮ǰ£¬SymantecºÍWatcomÍ¬Ê±Ãæ¶ÔÁËÒ»¸ö·Ç³£ÑÏÀ÷µÄ¿¼Ñ飬ÄǾÍÊÇC/C++ FrameworkµÄÑ¡Ôñ¡£ËäÈ»SymantecºÍWatcom¶¼ÒÔ¸÷×ÔµÄÌØÉ«Õ¼µÃÁËÊг¡£¬²»¹ýÔÚµ±Ê±¶ÔÓÚÒ»¸öC/C++¿ª·¢¹¤¾ßÀ´Ëµ£¬×îÖØÒªµÄÒ ......
ǰÑÔ ²»¶ÏÓÐÍøÓѽ«±àÒëÆ÷ GCC ÎóÈÏΪ IDE£¨¼¯³É¿ª·¢»·¾³£©
ÆÚÍûÍÑÀëÃüÁîÐÐ
ÆÚÍûÄÜÔڲ˵¥Öз¢ÏÖÆäÉíÓ°
ÆÚÍûÆäÄÜÓÐÒ»¸ö¼¯±à¼±àÒëÁ´½Óµ÷ÊÔÔËÐÐÓÚÒ»ÌåµÄ½çÃæ
¹Ê±¾Îĸø´ó¼Ò¼òµ¥ÂÞÁÐһЩ C/C++ ±à³ÌÖпÉÓÃµÄ IDE£¬»òÐíÄã´ÓÖпÉÒÔÕÒÒ»¸öÄãϲ»¶µÄ¡£
Ϊ±ÜÃâÒÔÏÂij¸öÈí¼þ°²×°Ê±²»×Ô¶¯°²×° ......
3.3 ¸ßЧÂÊ¿ª·¢
ÕâÒ»½Ú½éÉÜÀûÓõ¥Ôª²âÊÔʵÏÖ¸ßЧÂÊ¿ª·¢¡£µ¥Ôª²âÊÔ¿ÉÒÔÔÚ¼¸¸ö·½ÃæÌá¸ß¿ª·¢Ð§ÂÊ£º²âÊÔÇý¶¯¿ª·¢¡¢¿ÉÊÓ±à³Ì¡¢¿ìËÙÅÅ´í¡¢ºÍÌá¸ßµ÷ÊÔЧÂÊ¡£
²âÊÔÇý¶¯¿ª·¢
Ö¸Ïȱàд²âÊÔ´úÂ룬ȻºóÔÙ±àд²úÆ·´úÂëʹ²âÊÔͨ¹ý£¬ÓкܶàÏà¹ØÎÄÕºÍÊé¼®½éÉÜÕâ·½ÃæÖªÊ¶£¬ÏÞÓÚ±à·ù£¬ÕâÀï¾Í²»½²ÁË ......